วิธีเปิดใช้งาน OpenSSh บน iOS 10.2


9

ฉันจำคุก iPhone ของคุณเสร็จแล้วและรันบน iOS 10.2

ฉันติดตั้ง OpenSSH ผ่าน Cydia และเปลี่ยนรหัสผ่านเริ่มต้นของฉันผ่าน MobileTerminal

ปัญหาเดียวคือเมื่อฉันเรียกใช้ssh root@my_iPhone_ip_addrมันแค่แฮงค์และไม่เชื่อมต่อ

ฉันได้ลองใช้แอปพลิเคชันสลับกระดานกระโดดของ SSH แต่มันยังคงค้างอยู่

มีวิธีที่ฉันสามารถเปิดใช้งาน SSH บนโทรศัพท์ของฉันผ่านคำสั่งเทอร์มินัลหรือวิธีอื่นได้หรือไม่?


ฉันใช้ iPhone Tunnel เพื่อเชื่อมต่อกับอุปกรณ์ของฉันผ่าน ssh ผ่าน USB: code.google.com/archive/p/iphonetunnel-mac/downloads
newenglander

คำตอบ:


9

ทวีตนี้สร้างขึ้นก่อนการปล่อยตัว Jailbreak 10.2 ดังนั้นฉันค่อนข้างแน่ใจว่ามันหมายถึงการ Jailbreak 10.1.1 ที่ไม่เสถียรสูง คุณมีแหล่งข้อมูลที่อัปเดตหรือไม่
Wowfunhappy

โปรดทำตามคำแนะนำของ grgarside: ถอนการติดตั้ง OpenSSH ดูโพสต์ของฉันสำหรับคำแนะนำทีละขั้นตอนเพื่อรับ ssh ของคุณกลับมา
โคลิน

6

คุณควรใช้ Dropbear ในตัว ในฐานะของ Yalu Beta 6 คุณจะต้อง SSH ผ่าน USB ก่อน จากนั้นหลังจากเปลี่ยนรหัสผ่านคุณสามารถเปิดใช้งาน Dropbear บนอินเทอร์เฟซอื่น ๆ

Linux หรือ macOS:

  1. ไบนารีดาวน์โหลดแกนดัล์ฟ (ฉันมีศูนย์รวบรวมโชค) จากocaml-usbmuxหน้า GitHub macOS: gandalf_darwin_10_11_x86_64
  2. เชื่อมต่ออุปกรณ์ของคุณผ่านสาย USB และทำการสแกน
  3. ใส่ udid ลงในไฟล์การจับคู่ ตรวจสอบให้แน่ใจว่าได้แมป Device_port 22 (ssh) แล้ว
  4. เรียกใช้แกนดัล์ฟด้วยไฟล์แผนที่ของคุณ
  5. SSH ไปยัง local_port ที่สอดคล้องกับ device_port 22 ในไฟล์การจับคู่ของคุณ
  6. เข้าสู่ระบบด้วยรหัสผ่านอัลไพน์
  7. เปลี่ยนรหัสผ่านของคุณ!!!

การสแกน

$ gandalf

ตัวอย่างการแม็พไฟล์

[{"udid":"9cdfac9f74c5e18a6eff3611c0927df5cf4f2eca",
  "name":"i11", "forwarding": [{"local_port":2000, "device_port":22},
                               {"local_port":3000, "device_port":1122}]
                               }]

เรียกใช้ Gandalf ด้วย Mapping File

$ gandalf -m myMappingFile.txt

SSH ไปยังพอร์ต 2000

$ ssh mobile@localhost -p 2000

เปลี่ยนรหัสผ่าน

$ passwd
$ su
$ passwd root

ตอนนี้คุณอยู่ในอุปกรณ์ iOS ของคุณ ( รหัสผ่านของคุณมีการเปลี่ยนแปลงใช่ไหม ) คุณสามารถเปิดใช้งาน Dropbear บนอินเทอร์เฟซอื่น ๆ ดังต่อไปนี้

  1. สร้างไฟล์ LaunchDaemon เพื่อเรียกใช้อินสแตนซ์ที่สองของ Dropbear
  2. รีบูทหรือใช้งาน launchctl load

สร้างไฟล์ LaunchDaemon:

$ cd /Library/LaunchDaemons
$ cat <<EOF > ssh10022.plist

วางสิ่งนี้ลงในเทอร์มินัล:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>SSH port 10022</string>
    <key>Program</key>
    <string>/usr/local/bin/dropbear</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/dropbear</string>
        <string>-F</string>
        <string>-R</string>
        <string>-p</string>
        <string>10022</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>

พิมพ์ Ctrl-D เพื่อสิ้นสุดอินพุต ตอนนี้สร้างไฟล์ ssh10022.plist

รีบูตหรือใช้ launchctl

launchctl load /Library/LaunchDaemons/ssh10022.plist

ปัญหาที่พบ:

Dropbear ไม่ชอบการอนุญาตเริ่มต้นของ iOS ในไดเรกทอรีบ้านมือถือดังนั้นการตรวจสอบความถูกต้องของคีย์ SSH จึงไม่ทำงาน หลังจากรีบูตทุกครั้งฉันต้องเข้าสู่ระบบด้วยรหัสผ่านและแก้ไขสิทธิ์:

$ chmod go-w /var/mobile

ในการดีบัก Dropbear: เปลี่ยนเส้นทางบันทึก Dropbear ไปยัง stderr (ตัวอย่างด้านล่างนี้ยังใช้งานอินสแตนซ์อื่นบนพอร์ต 10023)

$ dropbear -E -p 10023

6

คุณไม่สามารถเชื่อมต่อกับ ssh ผ่าน wifi ได้ด้วยการแหกคุก 10.2 คุณต้อง ssh ผ่าน USB พวกเขามีหลายตัวเลือก iproxyแต่ที่ง่ายที่สุดคือการใช้

  1. ติดตั้ง iproxy

    brew install libimobiledevice

  2. ในสถานีตอนนี้เรียกใช้คำสั่งต่อไป

    iproxy 2222 22

    สิ่งนี้จะช่วยให้คุณสามารถส่งต่อการรับส่งข้อมูลทั้งหมดจากพอร์ต 2222 ไปยังพอร์ต 22 ผ่าน USB

  3. ตอนนี้คุณสามารถเชื่อมต่อกับ iPhone โดยใช้ ssh

    ssh root@localhost -p 2222

ขอให้สังเกตว่าคุณเชื่อมต่อlocalhostไม่ใช่ที่อยู่ IP ของโทรศัพท์ของคุณ หากทุกอย่างเป็นไปด้วยดีคุณควรแสดงพรอมต์ ssh

ถ้ามันไม่ทำงานตรวจสอบว่า ssh ทำงานบน iPhone โดยใช้

telnet <iphone-ip-address-here> 22

หากคุณไม่สามารถเชื่อมต่อได้ให้แน่ใจว่าคุณติดตั้งopensshแพคเกจจาก Cydia


อาจไม่แนะนำให้ติดตั้ง OpenSSH เพราะผู้เขียนการแหกคุก qwertyoruiop บอกว่าไม่ต้องติดตั้ง OpenSSH โดยเฉพาะ
โคลิน

1
ฉันไม่สามารถเชื่อมต่อโดยใช้Dropbearในกรณีของฉันฉันต้องติดตั้งOpenSSHแพคเกจนั่นคือเหตุผลที่ฉันแนะนำว่าเป็นคำแนะนำอื่น ๆ ที่ดูเหมือนจะขึ้นอยู่กับการแหกคุกเบต้า
โจเซฟ

นี่ไม่เป็นความจริง. คุณสามารถเชื่อมต่อ SSH ผ่าน Wifi ด้วยการ Jailbreak 10.2 เพียงแค่คุณต้องอัปเดตการกำหนดค่า dropbear เพื่อให้สามารถฟังได้ในทุกอินเตอร์เฟส
Doug

@Doug แก้ไขคำตอบและวางคำแนะนำในการเปิดใช้งาน SSH ผ่าน wifi
โจเซฟ

3

@Colin มีคำตอบที่ดีสำหรับการแหกคุก Yulu แต่ฉันทำสิ่งต่าง ๆ เล็กน้อยที่อาจเป็นประโยชน์กับผู้คน คำตอบของเขามุ่งเน้นไปที่การสร้างภูตใหม่ด้วยชื่อใหม่เพื่อให้คุณมีสอง daemons ที่ใช้ SSH อย่างมีประสิทธิภาพ หนึ่งสำหรับ USB และอีกหนึ่งสำหรับการเชื่อมต่อ TCP อื่น ๆ ฉันต้องการผู้ฟังหนึ่งคนที่ฟังบนอินเทอร์เฟซทั้งหมด ฉันยังอยู่บน Windows และต้องการบางสิ่งที่ทำงานร่วมกับสิ่งนั้นซึ่ง Galdolf ทำไม่ได้ เป็นผลให้ฉันไปกับสคริปต์ Pythonซึ่งฉันแยกเพื่อให้แน่ใจว่ามันจะไม่หายไปกับฉัน

หากต้องการใช้สิ่งนี้ให้เรียกใช้:

python usbmuxd\pythonclient\tcprelay.py -t 22:2222

ดังกล่าวข้างต้นแผนที่พอร์ตท้องถิ่น 2222 กับพอร์ตระยะไกล 22 ครั้งนี้คือการติดตั้งคุณสามารถใช้ยูทิลิตี้ SSH ที่คุณชื่นชอบเพื่อเชื่อมต่อใน. ผมใช้สีโป๊ว

  • โฮสต์: 127.0.0.1
  • พอร์ต: 2222

ชื่อผู้ใช้เริ่มต้นของ "รูท" และรหัสผ่านของ "อัลไพน์" แต่สามารถใช้ชื่อผู้ใช้ของ "มือถือ" และรหัสผ่านของ "อัลไพน์" เพื่อเชื่อมต่อได้

หมายเหตุ: หากคุณไม่ทราบรหัสผ่านรูทให้ใช้ Filza เพื่อเปลี่ยนการอนุญาตของ /etc/master.passwd เป็น 666 จากนั้นผ่าน SSH ในฐานะผู้ใช้อุปกรณ์พกพาหรือใช้โปรแกรมแก้ไขไฟล์รายการโปรดแก้ไขไฟล์นั้นเพื่อคัดลอกแฮช จาก "มือถือ" ไปจนถึง "root" เพื่อให้รหัสผ่านเหมือนกัน (แฮชสำหรับ "อัลไพน์" คือ "/ smx7MYTQIi2M" หากจำเป็น) จากนั้นคุณควรจะสามารถเข้าสู่ระบบในฐานะรูทหรือใช้ su

เมื่อเข้าสู่ระบบของคุณคุณจะต้องการค้นหาสำเนาของ droplist.plist ที่อยู่บนเครื่องของคุณ อาจมีวิธีที่มีประสิทธิภาพมากกว่านี้ แต่ฉันใช้คำสั่งต่อไปนี้:

find . | grep dropbear.plist

ซึ่งให้ผล:

./Library/LaunchDaemons/dropbear.plist
./private/var/containers/Bundle/Application/023FF836-8A0A-4593-A578-6801F2A3F34D/yalu102.app/dropbear.plist

รายการแรกคือ daemon ที่ใช้งานอยู่ แต่รายการที่สองมีความสำคัญมากกว่า เป็นภูตที่ Yulu ติดตั้งทุกครั้งที่คุณทำการเจลเบรค (ซึ่งคุณต้องทำกับการรีบูตทุกครั้ง) หากคุณแก้ไข /Library/LaunchDaemons/dropbear.plist เท่านั้นมันจะถูกแทนที่ทุกครั้งที่คุณรีบูท

ดังนั้นเราจะแก้ไขไฟล์ที่มาพร้อมกับ Yulu แต่ถ้าคุณ cat ไฟล์คุณจะสังเกตเห็นมันในรูปแบบไบนารี PLIST ในการแก้ไขปัญหานี้เราต้องใช้ Erica Utilitiesเพื่อรับพลูติล จากนั้นคุณสามารถเรียกใช้:

plutil -xml dropbear.plist

สิ่งนี้จะแปลง dropbear.plist เป็นรูปแบบ XML เมื่อเสร็จแล้วคุณสามารถแก้ไขไฟล์ในโปรแกรมแก้ไขข้อความใด ๆ ฉันใช้นาโนเพื่อทำการแก้ไขจริง

เช่น

nano dropbear.plist

เมื่อคุณแก้ไขไฟล์ที่คุณต้องการกำจัด "localhost:" จากรายการสตริงสุดท้าย สิ่งนี้จะทำให้ผู้ฟังรันบนอินเตอร์เฟสทั้งหมดแทนเฉพาะอินเตอร์เฟสลูปแบ็ค (ซึ่งมีให้ผ่านทาง USB เท่านั้น) ดังนั้นไฟล์ของคุณจะกลายเป็น:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>KeepAlive</key>
        <true/>
        <key>Label</key>
        <string>ShaiHulud</string>
        <key>Program</key>
        <string>/usr/local/bin/dropbear</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/bin/dropbear</string>
                <string>-F</string>
                <string>-R</string>
                <string>-p</string>
                <string>22</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

เมื่อคุณทำเสร็จแล้วคุณจะต้องการที่จะนำไฟล์กลับมาในรูปแบบไบนารี:

plutil -binary dropbear.plist

ณ จุดนี้ฉันขอแนะนำให้คุณรีบูตอุปกรณ์และตรวจสอบว่าไฟล์ Yalu dropbear.plist ถูกคัดลอกอย่างถูกต้องเมื่อคุณทำการ Jailbreak อีกครั้ง:

เช่น

reboot

หลังจากรีบูตเครื่องคุณควรจะสามารถใช้ SSH โดยใช้ที่อยู่ IP ในโทรศัพท์ของคุณและพอร์ตมาตรฐาน 22

เช่น

  • โฮสต์: (IP จากการตั้งค่า -> WiFi -> (WIFI NAME)
  • พอร์ต: 22

ขอบคุณที่สะกดทุกขั้นตอนของคุณ! นั่นทำให้พิสูจน์ได้มากขึ้นในอนาคต ฉันพยายาม> ค้นหา | grep dropbear.plist เพื่อค้นหาการตั้งค่า dropbear ในการแหกคุก LiberIOS แต่ฉันไม่มีเงื่อนงำที่พวกเขาวาง config
โคลิ

1
ลองไปที่: / Library / LaunchDaemons / และดูว่าคุณสามารถคิดชื่อที่ใช้ในนั้นได้หรือไม่ เป็นไปได้ว่าพวกเขาจะใช้ชื่อเดียวกันทุกที่ โฟลเดอร์นั้นเป็นที่ที่สคริปต์ daemon ทั้งหมดอยู่ดังนั้นหากมี daemon ที่มีอยู่จะต้องอ้างอิงที่นั่น
Doug

ลืม cd / ก่อนใช้งานค้นหา | grep dropbear.plist ดุจ
โคลิ

นี่ทำให้ฉันรู้ว่าเราสามารถแนะนำให้แฮ็ค Dropbear.plist ใน Yalu IPA ก่อนที่เราจะอัปโหลดไปยังอุปกรณ์ด้วย Impactor แต่อีกครั้งในขณะที่หนึ่งสามารถแก้ไขไฟล์. plist แบบไบนารีโดยตรงด้วย Xcode บน macOS ฉันไม่รู้ว่ามีสิ่งอำนวยความสะดวกดังกล่าวใน Windows หรือ Linux หรือไม่
โคลิ

1
ใช่สามารถทำได้: forensicswiki.org/wiki/Converting_Binary_Plists
Doug
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.