Python渗透测试编程技术:方法与实践(第2版)
上QQ阅读APP看书,第一时间看更新

2.3.5 对Kali Linux 2网络进行SSH远程控制

有时候可能需要远程控制Kali Linux 2系统(尤其是使用树莓派的时候)。在默认情况下,Kali Linux 2系统并没有开启SSH服务。如果希望远程使用SSH服务连接到Kali Linux 2,首先需要在Kali Linux 2中对/etc/ssh/sshd_config进行如下设置。该设置过程可以通过Vim实现。

Vim是从vi发展出来的一个文本编辑器。基本上vi/vim共分为3种模式,分别是命令模式(Command mode)、输入模式(Insert mode)和底线命令模式(Last line mode)。

用户启动vi/vim后便进入命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。例如此时按下I键,并不会输入一个字符,i被当作了一个命令。常用的命令如下:

□ i表示切换到输入模式,以输入字符。

□ x表示删除当前光标所在处的字符。

□ :表示切换到底线命令模式,以便在最低一行输入命令。

编辑文本的步骤是:启动Vim,进入命令模式,按下I键,切换到输入模式。在输入模式中可以使用以下按键:

□ 字符按键以及Shift组合,用于输入字符。

□ Enter(回车键),用于换行。

□ Backspace(退格键),删除光标前一个字符。

□ Del(删除键),删除光标后一个字符。

□ 方向键,在文本中移动光标。

□ Home/End,移动光标到行首/行尾。

□ Page Up/Page Down,上/下翻页。

□ Insert,切换光标为输入/替换模式,光标将变成竖线/下画线。

□ Esc,退出输入模式,切换到命令模式。

在命令模式下输入英文冒号(:)将进入底线命令模式。在底线命令模式中可以输入单个或多个字符的命令,可用的命令非常多。在底线命令模式中,基本的命令有:

□ q,退出程序。

□ w,保存文件。

按Esc键可随时退出底线命令模式。

接下来首先执行“sudo vim /etc/ssh/sshd_config”命令以打开sshd_config文件,这里需要将#PasswordAuthentication yes和#PermitRootLogin prohibit-password前的注释符(#)去掉。启动vim后按下I键,切换到输入模式,如图2-32所示。

删掉两个#之后,依次按Esc键和冒号键,然后输入w和q保存再退出。接下来在终端中启动SSH服务,使用的命令如下:

     kali@kali:~$ sudo /etc/init.d/ssh start
     [sudo] password for kali:
     Starting ssh (via systemctl): ssh.service.

图2-32 在vim中修改sshd_config

如果想查看SSH服务运行状态,可以使用以下命令。

     kali@kali:~#netstat -antp

此时SSH服务为暂时启动,下次开机就会失效,如果要设置为开机启动,可以使用如下命令。

     kali@kali:~$ sudo update-rc.d ssh enable

现在另外一台计算机上使用SSH服务来远程控制Kali Linux 2,这里使用PuTTY完成远程登录,PuTTY的工作界面如图2-33所示。

图2-33 PuTTY的工作界面

PuTTY的使用方式很简单,只需要输入目标的IP地址和要使用的端口(默认为22)即可。第一次使用SSH连接时,会弹出一个如图2-34所示的窗口,询问是否保存会话密钥,这里选择“是”按钮。

接下来输入登录的用户名,虚拟环境中为kali,树莓派中为root,如图2-35所示。

图2-34 是否保存会话密钥

图2-35 输入登录用户名

接下来输入登录密码,虚拟环境中为kali,树莓派中为toor,如图2-36所示。

图2-36 输入登录密码

用户名和密码验证正确后就可以远程使用Kali Linux 2了,如图2-37所示,此时可以使用命令完成所有的操作。

图2-37 通过SSH控制Kali Linux 2