彻底解决Meterpreter中文乱码问题

  • Post author:
  • Post category:其他


关注【

潇湘信安

】、【

Hack分享吧

】公众号,一起学网络安全知识!

Meterpreter会话进入shell执行DOS命令时会出现中文乱码的情况,是因为Windows命令终端默认活动代码页为:936(ANSI/OEM-简体中文GBK),与Linux命令终端默认(Unicode-UTF-8)编码不一致,所以返回的中文字符会显示乱码。


MS-DOS为以下国家和语言提供字符集:


编号


语言


编号


语言

437

708

720

850

852

855

857

860

861

862

863

865

866

869

874

932

936

949

950

1200

1201

1250

1251

1252

1253

1254

美国

阿拉伯文(ASMO 708)

阿拉伯文(DOS)

多语言(拉丁文I)

中欧(DOS)

西里尔文(俄语)

土耳其语

葡萄牙语

冰岛语

希伯来文(DOS)

加拿大-法语

日耳曼语

俄语-西里尔文(DOS)

现代希腊语

泰文(Windows)

日文(Shift-JIS)

简体中文(GB2312)

韩文

繁体中文(Big5)

Unicode

Unicode(Big-Endian)

中欧(Windows)

西里尔文(Windows)

西欧(Windows)

希腊文(Windows)

土耳其文(Windows)

1255

1256

1257

1258

20866

21866

28592

28593

28594

28595

28596

28597

28598

38598

50000

50001

50220

50221

50222

50225

50932

50949

51932

51949

52936

65001

希伯来文(Windows)

阿拉伯文(Windows)

波罗的海文(Windows)

越南文(Windows)

西里尔文(KOI8-R)

西里尔文(KOI8-U)

中欧(ISO)

拉丁文3(ISO)

波罗的海文(ISO)

西里尔文(ISO)

阿拉伯文(ISO)

希腊文(ISO)

希伯来文(ISO-Visual)

希伯来文(ISO-Logical)

用户定义的

自动选择

日文(JIS)

日文(JIS-1)

日文(JIS-2)

韩文(ISO)

日文(自动选择)

韩文(自动选择)

日文(EUC)

韩文(EUC)

简体中文(HZ)

Unicode (UTF-8)

0x01 chcp命令解决中文乱码

使用chcp命令将当前Windows命令终端的活动代码页设置为“65001 – Unicode(UTF-8)”即可,这种方式只能用来临时解决部分中文乱码问题,可以正常显示英文,但不能显示中文。

C:\Users\*******\Desktop>chcp 65001



注:


但不知为何Windows版的Metasploit中文字符也会乱码,按理说当前Windows命令终端与反弹回来的Windows命令终端活动代码页都是936,不应该再出现乱码的啊,搞不懂了!只能先用chcp 60001临时解决了,唯一的好处就是↑↓←→等特殊按键不会出现乱码。

0x02 修改编码解决中文乱码

将本地Linux命令终端或SSH客户端的编码改为“简体中文-GBK、GB2312、GB18030”即可,或者在Kali命令终端菜单栏中的“终端”->“设定字符编码”处设置,这种方式可以完全解决反弹回来的Windows命令终端中文乱码问题。



注:


Delete、Backspace按键乱码情况也可以在这里设置,不过像Ctrl、Shift组合键和Esc、Home、End、PgUp、PgDn、F1-F12(除F11),以及↑↓←→这类特殊按键的乱码到目前为止还没能找到更好的解决办法,这类乱码属于ANSI Escape控制码。

0x03 rlwrap解决特殊按键乱码

进入Meterpreter shell或者用netcat得到的shell后都不能直接使用上下左右等特殊按键,会显示乱码^[[A^[[B^[[D^[[C,想象一下在渗透测试过程中不能在shell下使用“上下键”查看历史命令,“左右键”来移动光标修改命令得有多难受,而且极其影响效率,有过这样经历的人肯定都知道!

以前也尝试过很多方法都没能解决这个问题,最近了解到rlwrap这个工具后才发现能够完美解决,直接执行以下命令安装即可,最后用rlwrap来启动metasploit就可以了。

下载地址:

https://pkgs.org/download/rlwrap

root@kali:~# apt-get install rlwrap

0x04 参考链接


https://en.wikipedia.org/wiki/Code_page



https://en.wikipedia.org/wiki/ANSI_escape_code



https://zh.wikipedia.org/wiki/字符编码



版权声明:本文为qq_40456839原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。