本文目录一览:
内网渗透之ms17-010
在内网渗透时,通常挂上代理后。在内网首先会打啵ms17-010。在实战中,使用msf的ms17-010模块,数次没有反弹成功。基于此,到底如何成功利用ms17-010
在msf成功接收session之后,添加路由
然后使用ms17-010相关的模块进行探测是否存在该漏洞。
尝试利用
LHOST配置为公网IP
可以看到success。漏洞是可以利用的,但始终没有session。不知道什么原因。
参考资料: 利用公网Msf+MS17010跨网段攻击内网
笔者在本地搭建环境,也是同样的结果。尝试更改payload为
bind_tcp攻击者去连接,容易被防火墙和杀毒发现
可以成功生成session,但并不稳定,且在run的过程中非常容易导致本来的session died
在实际使用msf的ms17_010_eternalblue模块时,笔者观察到有几个弊端。
1.session 很容易died
2.ms17_010_eternalblue模块利用起来非常耗时
3.无法利用成功
有大佬推荐使用原始的fb.py。但配置起来感觉麻烦一些。
所以。笔者从i春秋上找到一个轻便的方程式漏洞利用工具。
参考资料: 萌新初试MS17-010方程式漏洞
工具使用起来很简单。只需要msfvenom生成一个x64或x86的dll文件,替换该工具下的x64.dll或x86.dll 。再依次点击Eternalblue、Doublepulsar 的Attack即可。在Attack的时候,调用x64.dll动态链接库,反弹到公网IP。原理和fb.py一样。
笔者通过ew代理进内网后,在跳板机上上传了方程式漏洞利用工具、网安永恒之蓝检测工具。两者结合,威力巨大。成功利用ms17-010
对于windows server 2008 ,msfvenom生成x64.dll文件
msf配置
将该x64.dll替换到方程式利用工具下面。
只需要更换目标的IP,就可以获取session。
对于windows server 2003 ,msfvenom生成x86.dll文件
msf配置
进一步利用的一些命令
实际测试发现这种session非常稳定。不会轻易go die
实际测试server 2003的ms17-010时,有时候多次执行后msf就接收不到session,而且ms17-010利用时,脆弱的server 2003非常容易蓝屏。
所以笔者选择一种稳定可靠一些的办法。
先通过ms17_010_commend模块执行系统命令添加用户至管理员。再指定SMBPass和SMBUser来建立windows可访问命名管道[accessible named pipe]
参考资料 Metasploit 「永恒之蓝」两种模块的利弊
system的权限可以直接激活guest用户添加管理员组。
注意:使用ms17_010_psexec需要指定管理员的用户名、密码,否则没有session
同样的操作,载入mimikatz,读取管理员密码。
内网渗透之http隧道
最近在整理内网渗透的一些相关资料,隧道的搭建是后渗透阶段重要的一环。随着防守的手段不断升级,某些情况下只能搭建http隧道。
简介
通过HTTP协议与代理服务器建立连接,把所有要传送的数据全部封装到HTTP协议里进行传送,协议中包含有要连接的远程主机的IP和端口,连接成功之后会返回给客户端200,表示验证通过。
获取webshell的主机位于内网,并且该内网主机的icmp、dns、tcp和udp协议等都不能出网,唯一的数据通道是webshell搭建正向代理。
根据代理的稳定性、速度推荐Neo-reGeorg、reGeorg、abptts 三款工具。
可以称为reGeorg的升级版,且传输内容经过了base64编码,避免特征检查,有效绕过检测。
1.设置密码,生成tunnel的webshell,并上传到目标服务器。
windows上可以使用SocksCap64 或者proxifier工具配置代理。
以windows上的SocksCap64 为例,添加代理。
测试连接成功。
注意有个测试代理地址。
点击可测试。
linux上可以使用proxychains代理
编辑
添加代理IP以及端口即可。
kali本地工具就可以通过proxychains命令全部代理进内网。
注意代理不支持icmp协议。proxychains nmap -Pn -sT -sV -v -T4 IP
reGeorg 是 reDuh 的升级版。主要把内网服务器的端口通过http或https隧道转发到本机。
1.上传tunnel.nosocket.php到目标服务器。
2.连接tunnel.nosocket.php,配置代理。
在SocksCap64 添加代理。
测试连接成功。
abptts是一款基于ssl加密的http隧道工具。全程通信数据加密有效对抗检测。
1.安装python依赖库
2.本地运行,生成webshell
注意:该工具不支持php
将生成的代理脚本选择性上传到目标服务器。
返回hash值,说明代理正常执行。
建立隧道,将目标服务器的3389和本地的3389进行绑定。
远程连接本地的33389端口
另外:
冰蝎本身也有socks代理。
Tunna 也可以在内网代理中转发端口。
pystinger是通过webshell来实现内网的SOCK4代理。
使用python开发,当前支持php,jsp(x),aspx三种代理脚本。可直接用于metasploit,cobalt strike上线。
1.上传proxy.jsp到目标服务器,确保可以正常访问。
2.上传stinger_server.exe 到目标服务器,并start命令运行该程序
vps 运行client端
将会在vps的6000端口启用socks4a代理
在SocksCap64 添加代理,测试一下。
配置60020端口的listener。
选择payload 生成artifact.exe,触发后即可上线。
vps可看到socks连接。
msfvenom生成60020端口的payload.exe
metasploit 配置对应的监听
将payload.exe在目标机上触发后,即可上线。
内网渗透-代理篇
最近参与内网渗透比较多,认知到自己在会话维持上过于依赖web服务,web服务一旦关闭,便失去了唯一的入口点。
本次以远程桌面连接来进行说明,介绍几种常用的连接方式。
本次目标主机ip为:172.16.86.153
使用条件:服务器通外网,拥有自己的公网ip
msf是我进行内网渗透中用的最多的工具,它内置了很多强大的功能,用起来相当方便。
msf的meterpreter内置了端口转发功能,可以把内网的端口转发到本地。
转发目标主机的3389远程桌面服务端口到本地的8888,使用linux中的rdesktop连接本地的8888端口。
msf内置了socks模块,在session但基础上配置路由,调用即可使用,但是速度和稳定性都很差,不做详细介绍。
使用条件:服务器通外网,拥有自己的公网ip
lcx是一个经典的端口转发工具,直接把3389转发到公网的vps上。
通过大马上传lcx.exe,执行系统命令,其中1.1.1.1是vps的公网ip。
因为我公网vps使用的是linux的系统,lcx对应linux的工具为portmap 。
p1为监听的端口,p2为转发到的端口。
成功监听到转发出的3389端口。
直接使用远程桌面服务连接1.1.1.1:33889
基于web服务的socks5隧道的优点是,在内网服务器不通外网的情况下也能正常使用。
常用的工具有:reGeorg,reDuh,Tunna和Proxifier。
本次只介绍reGeorg的具体用法。
选择对应脚本的tunnel上传到服务器。
访问上传文件,显示如下表示成功。
打开Proxifier,更改为脚本指定的端口。
本地电脑成功通过socks5带进了目标主机的内网。(若失败,可能是某些防护检测到了异常流量,可采用reDuh)
本地电脑直接远程连接目标主机的内网ip。
使用条件:目标主机通外网,拥有自己的公网ip
选择对应主机操作系统的执行文件。
目标主机为windows系统,选择上传ew_for_Win.exe文件。
公网vps使用ew_for_linux64文件。
首先在公网vps上执行:
-l为Proxifier连接的端口,-e为目标主机和vps的通信端口。
然后在目标主机中执行:
socks5隧道建立成功,成功把自己的主机带进目标内网。
使用Proxifier,配置ip和连接端口。
连接远程桌面成功。
传送门
使用条件:目标主机通外网,拥有自己的公网ip
首先需要在公网服务器搭建服务端,搭建方法参考: 传送门
要注意的是,客户端和服务端的版本号要一致,否则无法正常使用。
对frpc.ini进行配置,为了保证搭建的隧道不对他人恶意利用,加入账户密码进行验证。
上传frpc.exe和frpc.ini到目标服务器上,直接运行frpc.exe(在实战中可能会提示找不到配置文件,需要使用-c参数指定配置文件的路径frpc.exe -c 文件路径)
公网vps主机上运行frps。
隧道建立成功,连接远程桌面。
类似的工具还有:sSocks,Termite等,不需要每种都掌握,有自己用的顺手的就行。
一般在网站服务的web服务关闭后,服务器重启后,大部门后门都会失效,这时需要用到系统服务封装工具。
以NSSM来进行示例,封装frpc为系统服务,建立持久的socks5隧道。
启动nssm图形化界面。
选择想要组册服务的exe应用。
设置服务的名字。直接点击install service,如下表示注册服务成功。
状态设置为启动,重启电脑进行测试,重启后frpc.exe自动运行,成功和frps连接。
本次列举了一些常用的工具,还有很多工具没有列举到,
功能原理都是大同小异,有那么几个用的顺手就好。
cobalt strike使用跳板进行内网渗透
Pivoting ,在本手册中,指的是「将一个受害机器转为其他攻击和工具的跳板」。Cobalt Strike 的Beacon 提供了多种 pivoting 选项。前提是 Beacon 处于交互模式。交互模式意味着一个 Beacon 每 秒内多次连接到团队服务器。使用 sleep 0 命令来使你的 Beacon 进入交互模式。
通过 [beacon] → Pivoting → SOCKS Server 来在你的团队服务器上设置一个 SOCKS4a 代理服务 器。或者使用 socks 8080 命令来在端口 8080 上设置一个 SOCKS4a 代理服务器(或者任何其他你想 选择的端口)。
所有经过这些 SOCKS 服务器的连接都将被转变为让相关联 Beacon 执行的连接、读写和关闭任务。你 可以通过任何类型的 Beacon 经由 SOCKS 隧道传输(甚至是一个 SMB Beacon)。
Beacon 的 HTTP 数据通道是响应速度最快的 pivoting 方法。如果你想通过 DNS 中继流量,使用DNS TXT 记录的通信模式。
要查看当前已经配置的 SOCKS 服务器,通过 View → Proxy Pivots 。 使用 socks stop 命令来停用 SOCKS 代理服务器。
proxychains 工具将强制外部程序使用你指定的 SOCKS 代理服务器。你可以使用 proxychains 强制第 三方工具经过 Cobalt Strike 的 SOCKS 服务器。要了解有关 proxychains 的更多信息,请访问:
安装proxychains,配置文件修改如下
pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"--- snippet --- [ProxyList] # add proxy here ... # meanwile # defaults set to "tor" socks4 127.0.0.1 8973/pre
过执行代理工具 proxychains,对内网主机 ip 地址为192.168.237.127进行端口探测。执行指令如下所示:
pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);" proxychains nmap -sT -Pn 192.168.237.129/pre
然后可以通过代理使用其他的安全工具进行下一步的渗透,如果说有些工具是不支持代理ip的,那么还有方法
Proxifier:
当使用没有代理功能的工具对目标内网进行渗透时,可以使用Proxifier工具能够将程序通过socks代理对内网进行渗透。详细的使用过程如下所示:
打开Proxifier软件,单击Profile-Proxy Server-add 添加本地主机的代理端口。协议选择socks5类型,可以点击check进行测试当前代理是否成功。
这样的配置会让当前所有软件走全局的代理。可以让一些不支持代理功能的软件走代理。
首先,用cs新建一个外部的监听:我这里选用外部http链接。
开启msf,使用exploit/multi/handler模块,设置payload为windows/meterpreter/reverse_http,然后show options 查看需要设置的参数。
注意:payload必须是和cs上设置的监听模块一致。
然后在cs的beacon控制台中直接输入
pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"spawn msf/pre
过了几秒,msf中就会得到会话
这部分是在msf获取到会话之后,把会话上传到CS上。
首先在CS上新建一个内部监听。
然后在msf中进行配置
首先在msf上面查看要上传·会话的id:(我这里是2)
使用这个exp:exploit/windows/local/payload_inject
设置好参数之后,检查参数时候设置完全和正确。
exploit执行
cs上就会上线了
这两天出文章的速度慢了,是因为我一直在持续的开发和优化知识库,现在知识库上线新的功能GitHub索引,地址是: ,不过现在只能是pc端访问,移动端访问样式会乱掉,因为我前端技术实在是渣渣
首页整理了github上最新流行的趋势。下图是中文趋势
下图是全网趋势
内网远程连接
1.查询终端端口
通用:
2.开启XP2003终端服务
3.更改终端端口为20008(0x4E28)
4.取消xp2003系统防火墙对终端服务3389端口的限制及IP连接的限制
5.开启Win2000的终端,端口为3389(需重启)
6.强行重启Win2000Win2003系统(执行完最后一条一句后自动重启)
7.禁用TCP/IP端口筛选 (需重启)
8.终端超出最大连接数时可用下面的命令来连接
9.调整NTFS分区权限
1、通过lcx工具解决内网远程连接
上传一个cmd.exe文件和lck工具然后setp cmd.exe设置终端路径解决运行权限问题。
内网渗透使用这两个工具–reGeorg+Proxifier
首先进入regeorg文件将tunnel.nosocket.php上传到靶机web根目录本地python运行 pip install urllib3环境下执行cmd
reGeorg-master\ reGeorgSocksProxy.py -p 9999 -u