1. openssh有什麼用
什麼是OpenSSH?
先來看看SSH是什麼,下面是筆者自己的定義:
SSH是一種可以保證用戶遠程登錄到系統的協議。
究竟安全在哪裡呢?
Windows用戶應該都聽說過Telnet,這也是一種命令行的遠程登錄工具,而且是系統自帶的。在XP下是默認開啟的,到了Win7及以後,系統雖然有這個功能,但需要用戶手動安裝並開啟這個功能。
這么好的一個工具為什麼還要用戶手動開啟呢?
答案就是:Telnet在傳輸過程中,密碼是以明文傳遞的。明文傳遞帶來的一個問題是,在數據包傳送過程中,攻擊者可以抓取到你的數據包並可以進行修改。這種攻擊叫做中間人攻擊,即便攻擊者不修改你的密碼,他也可以知道你的密碼,以後可以用這個密碼登錄你的電腦。
SSH對Telnet的一個重要優勢就是所有傳輸都是經過加密的,這樣就增大了中間人攻擊的難度。SSH中使用了MD5、RSA、DES等密碼演算法,保證數據的機密性、完整性、不可重放攻擊。整個過程中包括密鑰協商和交換,以及數據加密傳送和解密等等。但也不是說就不能攻擊,只是攻擊的成本加大很多。
OpenSSH是SSH的開源實現,因此用戶可以免費使用到這種安全服務。
還有一個看著比較近似的詞:OpenSSL。這個是SSL的開源實現,所謂SSL就是安全套接字層。具體含義筆者不再解釋了,總之跟OpenSSH不是一碼事。
一句話概括OpenSSH:使用加密的遠程登錄實現,可以有效保護登錄及數據的安全。
在越獄後,由於整個系統都可以被訪問到,而root用戶的密碼又是默認的,因此如果你安裝了OpenSSH或其他一些服務可以被利用來進行遠程登錄,那麼別人就可以輕松的訪問到你設備中的任何文件。這也算越獄帶來的對系統安全性降低的一個途徑,因此就要修改具有較高許可權賬戶的密碼。
一共有兩個賬戶需要修改:root和mobile用戶。先來解釋下這兩個用戶的區別:
1.root:linux/unix系統中許可權最高的賬戶,等於Windows中的Administrator,具有對系統完全的控制權,因此也最容易遭到攻擊
2.mobile:使用設備時其實是以mobile用戶(mobile組)的身份進行操作的。這個賬戶比root許可權低,就像Windows中的普通用戶,可以操作一些普通的文件,但系統文件不可操作。這個賬戶同樣重要
總之,這兩個賬戶的密碼都需要修改
修改密碼的大致步驟:
1.Cydia中安裝Mobile Terminal
2.運行Mobile Terminal,輸入「su
root」提升到管理員許可權,再輸入默認密碼:」alpine」(沒有引號),並點「return」。注意輸入密碼過程中,密碼不會顯示出來。這點和Windows上用圓點來遮蓋密碼不一樣,一個好處就是攻擊者也不會知道密碼的長度,增加暴力破解猜測的難度。
3.完成後如下圖所示:
4.更改root和mobile的密碼,如下圖所示:
如果你覺得在設備上操作不太舒服,再看看怎麼從電腦連接到iOS設備:
1.Windows上推薦使用Putty客戶端來連接iOS設備。點擊下載Putty
運行客戶端,並在設置中找到設備的IP,在下圖中輸入並連接:
2.按圖中的命令輸入,更改root和mobile的密碼:
3.完成!你還可以自己用命令查看文件目錄。如果你對Linux/Unix內核的系統(Ubuntu、Red Hat、OS
X、android)比較熟悉,可以用命令操作。一些命令可能格式稍有不同,但基本一致。比如用」dpkg -l」列舉所有安裝的軟體包:
還有很多命令,筆者不一一列舉,可以自行查閱
本文中筆者僅對OpenSSH、iOS修改root和mobile密碼、使用Putty遠程登錄iOS設備進行了簡單的探討。筆者希望權當拋磚引玉,能讓更多動手能力強的讀者更好的使用自己的設備。
教程補充:
OpenSSH原是一個在Linux下很實用的一個軟體。iPhone本身就是一個運行BSD系統(可認為是一種Liunx)的硬體,因此,Cydia的作者Saurik把OpenSSH這一軟體移植到了iOS平台上,並且簡化了安全認證密鑰的繁瑣,使之成為一款可以在iPhone上運行的Cydia插件。在iOS的系統管理中,多半是使用命令行。在遠程管理中,多半是用OpenSSH通過Wi-Fi或者3G來對iPhone、iPad、iPod
Touch執行命令修改文件等操作。
OpenSSH用途是在PC或者Mac上遠程輸入命令操作iOS設備,免去使用MobileTerminal,同時,也是一種在多系統下管理iPhone、iPad系統文件的方法。
2. Android系統的底層建立在Linux系統之上,該平台由那4層組成
1,Android應用程序層;
2,應用程序框架層;
3,系統運行庫層;
4,Linux核心層。
應用是用Java語言編寫的運行在虛擬機上的程序,即圖中最上層的藍色部分,其實,Google最開始時就在Android系統中捆綁了一些核心應用,比如e-mail客戶端、SMS短消息程序、日歷、地圖、瀏覽器、聯系人管理程序,等等。
第二層即是編寫Google發布的核心應用時所使用的API框架,開發人員同樣可以使用這些框架來開發自己的應用,這樣便簡化了程序開發的架構設計,但是必須遵守其框架的開發原則。
我們使用Android 應用框架時,Android系統會通過一些C/C++庫來支持對我們使用的各個組件,使其能更好地為開發者服務。
Android 的核心系統服務基於Linux2.6內核,如安全性、內存管理、進程管理、網路協議棧和驅動模型等都依賴於Linux2.6內核。Linux內核同時也作為硬體和軟體棧之間的抽象層。
關鍵詞:busybox;adb;Android Terminal Emulator;plete linux installer
可參考「讓Android 變身回一台真正的Linux系統吧!」
:blog.csdn./poisonchry/article/details/8545726
看晶元架構了,據說1186有刷成低版本安卓的, 查看原帖>>
android就是基於linux內核,所以安卓也可以說是linux的一員。。
如果裝其他系統的話你還要考慮驅動,兼容性等各個方面的問題。
一般這些都是由你手機廠商提供,而手機廠商給你的就是修改了,加了驅動的linux。
非要換成cent linux,ubuntu之類的話基本沒戲,除非你會寫linux驅動,精通linux。
您可以看一下萬戶網路的,可自定義流程,支持大並發,操作簡單,支持人事辦公,行政辦公,綜合辦公,內部郵件等,還可以即時通訊,可以和財務系統做整合。
安卓系統就是基於Linux開發的。。手機許多的功能都需要驅動,即使你真的安裝了Linux系統驅動也是個問題。。
你的linux和windows可以通過ssh通信,openssh就可以,把你的linux和windows設成一個區域網的就行,不管你是校園網還是什麼網.
:newhua./soft/2186.htm
putty
這個是免費的。
如果你需要X界面。
那麼可以用X-win32
不過有使用期限。
:alinblog./blog/index.php?go=category_12
Ubuntu自帶的FTP伺服器是vsftpd。 1、安裝vsftpd Ubuntu安裝軟體倒不是件困難的事,輸入: sudo apt-get install vsftpd 如果沒換源可能會提示你使用光碟,放進去再按回車就行了。 我用CN99的源,速度是300K每秒,夠快吧. 安裝了之後會在/home/下建立一個ftp目錄。這時候你可以試著訪問下ftp:IP地址。應該可以看到一個空白內容的ftp空間。 默認設置下匿名用戶可以下載,但不能寫入或是上傳 2、設置 vsftpd.conf文件 現在我們要讓匿名用戶無法訪問,並且得輸入linux上的用戶密碼後才能訪問到他們自己目錄里的內容。 首先找到設置vsftpd的文件,位置在/etc/vsftpd.conf 修改之前最好先備份下這個文件: sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old 然後可以改動了: #不讓匿名用戶使用 #anonymous_enable=YES #本地用戶可用 local_enable=YES #可用寫操作 write_enable=YES #不需要顯示某目錄下文件信息 #dirmessage_enable=YES #加點banner提示 ftpd_banner=Hello~~ #FTP伺服器最大承載用戶 max_clients=100 #限制每個IP的進程 max_per_ip=5 #最大傳輸速率(b/s) local_max_rate=256000 #隱藏帳號 hide_ids=YES 好了,重啟下ftp 伺服器看看效果 重啟後還是和原來一樣對嗎?呵呵,這是默認的ftp目錄在做鬼,我們把它刪除,再看看。怎麼樣?要你輸入用戶名和密碼了吧。 新的問題 1、輸入用戶名密碼後顯示的位置是在用戶的根目錄下,而我們的WEB內容是在public_目錄里 2、用戶可以跳到任何其他目錄 要解決這些問題我們還得設置下vsftpd.conf #啟動chroot列表(Change root) chroot_list_enable=YES #指定列表位置(我這用的是默認地址) chroot_list_file=/etc/vsftpd.chroot_list 接下來我們得在vsftpd.chroot_list上寫進去我們要限制哪些用戶,不讓他們「漂移」.. 現在有用戶linyupark,所以只要sudo nano一下,往裡面寫就行了 這樣我們已經解決第2個問題了,登陸的用戶只能在它的用戶文件夾里活動,下面我們要更狠一點,讓他只能在public_里活動 依然還是找vsftpd.conf #這句默認設置里是沒有的,自己加 user_config_dir=/etc/自己定義一個設置個別用戶用的文件夾地址 根據自己設置的地址,建立一個相應的文件夾,然後往裡面建立和用戶名相同的文件,nano一下: #本地用戶的根地址,假設用戶是linyupark local_root=/home/linyupark/public_ 重啟下伺服器。需要redhat 8.0以上
3. 如何獲取安卓ios上的im記錄,通過metasploit控制安卓
安卓設備已獲取root許可權,安裝SSHDroid(通過ssh、ftp連接手機)
Apple設備越獄,安裝OpenSSH插件
0×01 安卓:
很多安卓手機的用戶都會遇到這么一個尷尬的問題:手機用久了就不知不覺變得慢了,最後慢到什麼都遲鈍了。為了解決這個問題和大多數人一樣我選擇了root設備。
安卓設備在root以後可以對系統文件存在最高級別的操作許可權。比如,你在安卓設備上安裝了微信,那麼root以後通過adb shell你能對微信App的文件配置進行讀取修改等操作。
Android應用程序的資料庫文件通常會保存在
/data/data/packagename/database 文件夾下,微信App文件存放路徑為:/data/data/com.tencent.mm/MicroMsg
首先通過FTP把文件down到本地:
以34位編碼(類似於亂碼)命名的文件夾中可找到微信賬號的加密資料庫文件 :EnMicroMsg.db
用資料庫管理器打開:提示加密或者不是資料庫文件
這里可以用Windows環境下的SQLite Database Browser瀏覽器打開:
提示輸入密碼:
那麼,加密資料庫使用的密碼是什麼呢?我們又該如何獲取到這個密碼?通過上網查資料了解到:微信採用手機的IMEI值和微信UIN值的組合來對數據進行加密。
微信賬號uin:即user information 微信用戶信息識別碼,獲取微信UIN的方式有兩種:
1.通過微信app的「system_config_prefs.xml」配置文件獲取微信賬號uin;
2.通過抓取WEB版微信聊天的數據包獲取到uin。
1.1 App 配置文件
find / -name 「system_config_prefs.xml」
/data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml
cat /data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml | grep uin
<int name="default_uin" value="146****21" />
1.2 谷歌chrome瀏覽器登陸WEB版微信:
登陸後新建窗口並訪問chrome://net-internals/#events
發送信息 抓包 find uin值
uin:146****21
通過上述兩種方法找到的uin值是相同的。
安卓撥號界面輸入*#06#獲得手機IMEI碼:354**********85
IMEI值+uin值組合即為354**********85146****21
md5: http://www.spriteking.com/cmd5/ 左側加密
得到32位小寫md5值:取其前七位:1cbf8b8輸入到sql瀏覽器中。
linux、Mac用戶也可以在終端執行:
echo -n "354**********85146****21" | md5sum | cut -c -7
成功打開微信的資料庫文件:
Wechat2txt.py:gist.github.com
import os
import sys
import re
import hashlib
import csv
import time
import locale
import getopt
def get_db():
os.popen('adb root').close()
text = os.popen(
'adb shell ls /data/data/com.tencent.mm/MicroMsg/*/EnMicroMsg.db').read()
return text.splitlines()[- 1] if text else ''
def get_default_uin():
os.popen('adb root').close()
text = os.popen(
'adb shell cat /data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml').read()
default_uin = re.findall(
'name="default_uin" value=http://www.ithao123.cn/"([0-9]+)"', text)
return default_uin[0] if default_uin else 0
def get_device_ID():
text = os.popen('adb shell mpsys iphonesubinfo').read()
device_ID = re.findall('Device ID = ([0-9]+)', text)
return device_ID[0] if device_ID else 0
def get_md5():
default_uin = get_default_uin()
device_ID = get_device_ID()
if default_uin and device_ID:
return hashlib.md5(device_ID + default_uin).hexdigest()[0: 7]
return ''
def parse_msgcsv(msgcsv):
locale.setlocale(locale.LC_ALL, '')
if hasattr(msgcsv, 'title'):
msgcsv = [ooOoo0O + '\n' for ooOoo0O in msgcsv.splitlines()]
pass
OooO0 = csv.reader(msgcsv)
OooO0.next()
for ooOoo0O in OooO0:
try:
II11iiii1Ii, OO0o, Ooo, O0o0Oo, Oo00OOOOO, O0O, O00o0OO, name, iIi1ii1I1, o0, I11II1i, IIIII = ooOoo0O[
: 12]
pass
except:
continue
ooooooO0oo = 'me' if (Oo00OOOOO == '1') else name
IIiiiiiiIi1I1 = time.localtime(int(O00o0OO) / 1000)
I1IIIii = time.strftime("%Y-%m-%d %a %H:%M:%S", IIiiiiiiIi1I1)
yield [name, I1IIIii, ooooooO0oo, iIi1ii1I1, o0]
pass
pass
def get_names(chat):
names = {}
for name, I1IIIii, ooooooO0oo, iIi1ii1I1, o0 in chat:
names[name] = 1
pass
return names.keys()
def oo(chat, name=''):
text = []
name = name.lower()
for name, I1IIIii, ooooooO0oo, iIi1ii1I1, o0 in chat:
iIi1ii1I1 = iIi1ii1I1.replace('\n', '\n ')
o0 = ('\t' + o0) if o0 else ''
if not name:
text.append('%s: %s %s: %s %s' %
(name, I1IIIii, ooooooO0oo, iIi1ii1I1, o0))
pass
elif name.lower() == name:
text.append('%s %s: %s %s' %
(I1IIIii, ooooooO0oo, iIi1ii1I1, o0))
pass
pass
return '\n'.join(text) + '\n'
def IIIii1II1II(dbn, key=''):
child_stdin, child_stdout = os.popen2(['sqlcipher', dbn])
if key:
child_stdin.write('PRAGMA key=%s;\n' % ` key `)
child_stdin.write('pragma cipher_use_hmac=off;\n')
pass
child_stdin.write('.tables\n')
child_stdin.close()
return child_stdout.read().split()
def decrypt(dbn, key='', table='message'):
table = table or 'message'
child_stdin, child_stdout = os.popen2(['sqlcipher', dbn])
child_stdin.write('.header on\n')
child_stdin.write('.mode csv\n')
if key:
child_stdin.write('PRAGMA key=%s;\n' % ` key `)
child_stdin.write('pragma cipher_use_hmac=off;\n')
pass
child_stdin.write('select * from %s;\n' % ` table `)
child_stdin.close()
return child_stdout.read()
def wechat2txt(names=[]):
in_file = 'EnMicroMsg.db'
out_file = 'message.csv'
db = get_db()
md5 = get_md5()
os.popen('adb wait-for-device')
os.popen('adb pull %s %s' % (db, in_file)).close()
msgcsv = decrypt(in_file, md5)
if msgcsv.find('\n') < 0:
return 1
file(out_file, 'w').write(msgcsv)
msgs = list(parse_msgcsv(msgcsv))
if not msgs:
return 1
if not names:
names = get_names(msgs)
pass
for name in names:
filename = 'message.%s.txt' % name
text = oo(msgs, name)
if len(text) > 4:
file(filename, 'w').write(text)
pass
pass
pass
help_msg = '''Usage: wechat2txt.py [OPTIONS] [NAME]...
OPTIONS:
-h display this help and exit
'''
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], 'h')
except getopt.error, e:
print help_msg
return 1
for opt, arg in opts:
if opt == '-h':
print help_msg
return 1
pass
names = args
text = wechat2txt(names)
return not text
if __name__ == "__main__":
sys.exit(main())
0×02 蘋果:
Apple設備越獄後可通過Cydia安裝各種小插件,通常情況我會安裝OpenSSH來使自己能通過終端連接到Apple設備中,並使用sftp傳輸文件:
iOS中,應用文件夾以hash值命名,要導出微信、QQ的聊天記錄其難度相對安卓來說稍微復雜很多。
在實際操作中我們可以通過巧用Linux命令(find、grep、xargs)來繞過這些坑。
find /var/mobile/Containers/Data -name "MM.sqlite"
mkdir /cache
find /var/mobile/Containers/Data -name "MM.sqlite" |xargs -I {} dirname {} | xargs -I {} cp -r {}/../../ /cache
附上出處鏈接:http://www.07net01.com/program/2016/07/1603637.html
4. 如何將使用crt連接android手機
以N900為例
1
1在N900端安裝兩個軟體分別是:openssh client和openssh server
2、然後設置你的N900的網路IP了
打開控制面板
打開你的網路連接
選擇你的WIFI然後編輯
一直下一步到最後一步點擊高級按鍵
設置你的N900IP(這里請根據你自己的無線路由設置。。不同牌子的無線路由設置不同。。祥情請參照你自己的無線路由的說明書)
VanDyke CRT 和 VanDyke SecureCRT是最常用的終端模擬程序,簡單的說就是windows下登錄UNIX或Liunx伺服器主機的軟體。二者不同的是SecureCRT支持SSH?(SSH1和SSH2)
? [概念解釋]什麼是SSH?
SSH的英文全稱是Secure Shell。
傳統的網路服務程序,如:ftp和telnet在本質上都是不安全的,因為它們在網路上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而通過使用SSH客戶端與伺服器端通訊時,用戶名及口令均進行了加密,有效防止了對口令的竊聽。同時通過SSH的數據傳輸是經過壓縮的,所以可以提高數據的傳輸速度,既然如此我們為什麼不使用它呢。SSH是由客戶端和服務端的軟體組成的,有兩個不兼容的版本分別是:1.x和2.x。至於具體如何安裝伺服器端,普通用戶就不需要關心了。
3、首先要下載SecureCRT,
安裝過程很簡單,安裝完成後,第一次啟動SecureCRT會有如下提示:
用戶需要指定一個目錄,用來存放SecureCRT的配置信息。此目錄默認為C:\Documents and Settings\用戶名\Application Data\VanDyke\Config,如果是升級SecureCRT需要保持此文件夾與舊版本一致,如果重裝系統,一定要備份此目錄。
如果需要更改,啟動SecureCRT後點擊Options => Global Options => General修改 Configuration folder即可。
2
基本設置
1、退出主機自動關閉窗口
Options => Global Options => General => Default Session => Edit Default Settings...
Terminal中將Close on disconnect 選上,當用戶從主機中退出後可以自動關閉當前連接的窗口。
2、修改默認卷屏行數
當你做一個操作,屏幕輸出有上百行,當需要將屏幕回翻時,這個設置會有很大幫助,默認為500行,可以改為10000行,不用擔心找不到了。
Terminal => Emulation => Scrollback 修改為10000。
3、修改SFTP默認下載路徑(可選):
對於使用SSH的連接中,可以使用SFTP下載文件,在這里可以設置文件的下載目錄(默認為下載到「我的文檔」中)
Connection => SSH2 => SFTP Tab => Initial directories => Local directory
4、拷貝與粘貼的設置
通過滑鼠操作即可拷貝或粘貼所需內容是一個非常方便的設置
Options => Global Options => Terminal => Mouse
選中Copy on select 和 Paste on middle button
這樣設置後,只要用滑鼠選中所需內容,則將內容拷貝到剪切板中,點擊滑鼠中鍵即可粘貼內容。
另外可以設置使用Windows下的拷貝粘貼快捷鍵,Options => Global Options => General => Default Session => Edit Default Settings... => Terminal => Mapped keys => Use windows and paste hotkeys
6、Tabs設置
從Secure5.0以後,增加了Tabs(標簽)選項,多個連接可以在同一個窗口下打開,類似IE7.0的風格。將Double-click 選項修改為 Close Tab,雙擊標簽可關閉連接窗口。
3
界面介紹
1、菜單
1)File 文件
Connect... 連接,打開一個連接或者編輯已有的連接,創建新連接。
Quick Connect... 快速連接,快速連接對話框,快速連接主機的最便捷方式
Connect in Tab... 在Tab中打開一個新的會話窗口。
Clone Session 克隆當前會話窗口。
Connect SFTP Tab 打開SFTP窗口,對於SSH連接,此選項可用。在此會話窗口中可使用SFTP命令傳輸文件。
Reconnect 重新連接
Disconnect 中斷當前會話窗口的連接
Log Session 把當前窗口的會話記錄到log文件中。
Raw Log Session 將更詳細的會話記錄到log文件中,包括伺服器更詳細的響應信息。
Trace Options 在log文件中記錄協議會話信息選項。(包括客戶端與主機互相連接時的一些信息內容)
2)Edit 編輯
拷貝粘貼等
3) View 視圖
顯示各種工具條
4) Options 選項
包括全局選項和Session選項
5) Transfer 傳遞文件
使用Xmodem/Zmodem上傳下載文件
6) Script 腳本
運行一個腳本文件,或記錄一個新的腳本。(類似Word中的宏功能)
7) Tools 工具
鍵盤映射編輯,密鑰生成工具等
8) Help 幫助
2、對話框和按鈕
點擊File => Connect可出現Connect對話框。
從左至右按鈕依次為:
連接(激活選中的連接條目);快速連接(快捷連接新的主機);新建連接(在對話框中新增一個連接條目);剪切;復制;粘貼;刪除(對話框中的條目);新建文件夾,屬性(顯示選中條目的屬性),創建條目的桌面快捷方式,幫助。
Connect對話框下方有兩個選項:
Show dialog on start (啟動SecureCRT時顯示Connect對話框);
Open in a tab (以新標簽卡的形式打開一個會話),選中此選項,新的會話窗口如下圖所示:
4
使用方法
1、新建連接
File => Connect => 點擊 New Session 按鈕,出現以下窗口,填寫連接的名字,協議(SSH1,SSH2,Telnet, Rlogin等)
點擊SSH2選項,填寫主機名或者IP地址,埠號,用戶名。另外可設置會話窗口的顏色方案,點擊Appearance選項,可自己設計或者選擇已有的顏色方案,更改字體,游標等。
2、快速連接
點擊快速連接按鈕出現下面的對話框,填入主機信息和用戶名即可快速連接。
下面有兩個選項Save session(保存快速連接的信息到連接對話框中);Open in a tab (以新標簽卡的形式打開一個會話)
3、使用SSH連接主機
按照上面的介紹新建一個SSH連接,如果是第一次連接會有如下提示,點擊Accept & Save即可。
基本上只要完成了上述步驟之後你的電腦就可以SSH到你的N900了