SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Android behind the
     scenes
   possible attacks
  and radical defense
       measures
•   /dev/block/mmcblk0p1 - 512 000 - dbl
•   /dev/block/mmcblk0p3 - 4 608 000 - osbl
•   /dev/block/mmcblk0p4 - 1 024 - header_rex_amss
•   /dev/block/mmcblk0p5 - 30 720 000 - rex_amss
•   /dev/block/mmcblk0p6 - 12 800 000 - modem_DSP
•   /dev/block/mmcblk0p7 - 2 097 152 - CID, Secure_Flag, IMEI, rcdata.img
•   /dev/block/mmcblk0p8 - 3 145 728
•   /dev/block/mmcblk0p9 - 2 097 152
•   /dev/block/mmcblk0p10 - 1 048 576
•   /dev/block/mmcblk0p11 - 1 048 576
•   /dev/block/mmcblk0p12 - 8 961 536
•   /dev/block/mmcblk0p13 - 3 145 728 - reserved for modem storage
•   /dev/block/mmcblk0p14 - 3 145 728 - reserved for modem storage
•   /dev/block/mmcblk0p15 - 1 048 576
•   /dev/block/mmcblk0p16 - 9 172 480
•   /dev/block/mmcblk0p17 - 262 144 - misc
•   /dev/block/mmcblk0p18 - 1 048 576 - hboot
•   /dev/block/mmcblk0p19 - 1 048 576 - sp1
•   /dev/block/mmcblk0p20 - 1 310 720 - wifi
•   /dev/block/mmcblk0p21 - 8 909 824 - recovery
•   /dev/block/mmcblk0p22 - 4 194 304 - boot
•   /dev/block/mmcblk0p23 - 262 144 - mfg
•   /dev/block/mmcblk0p24 - 2 096 128 - sp2
•   /dev/block/mmcblk0p25 - 585 104 896 - system
•   /dev/block/mmcblk0p26 - 1 232 076 288 - userdata
•   /dev/block/mmcblk0p27 - 314 572 288 - cache
•   /dev/block/mmcblk0p28 - 21 757 440 - devlog
•   /dev/block/mmcblk0p29 - 262 144 - pdata
S-ON                     S-OFF
eMMC read, writing       Writing in any eMMC
only to user-available   partition, except
partitions               partition 7




Flashing only HTC-       Flashing any third-
signed firmware          party modified
                         firmware, including
                         hboot, recovery and
                         custom roms
mmcblk0p7

              CID
             IMEI
            S-Flag
IMEI repair

S-OFF

Unlock
Powercycle     Partition7
 gfree   wpthis.ko
                            eMMC         injection




              • void powercycle_emmc()
                {
                  gpio_tlmm_config(PCOM_GPIO_CFG(88, 0,
                GPIO_OUTPUT, GPIO_NO_PULL, GPIO_2MA), 0);

                     // turn off.
wpthis.ko            gpio_set_value(88, 0);
                     mdelay(200);

                     // turn back on.
                     gpio_set_value(88, 1);
                     mdelay(200);
                 }
drivers/mmc/card/block.c



#if 1                                #if 0
if (board_emmc_boot())
  if (mmc_card_mmc(card)) {
    if (brq.cmd.arg < 131073) {/* should not write any value before
131073 */
      pr_err("%s: pid %d(tgid %d)(%s)n", func, (unsigned)(current->pid),
             (unsigned)(current->tgid), current->comm);
      pr_err("ERROR! Attemp to write radio partition start %d size %dn",
              brq.cmd.arg, blk_rq_sectors(req));

    BUG();
    return 0;
   }
#endif
Preparations

Android 2.3-4.1
• Rooted Android OS, stock or custom

Busybox
• Android console utility pack installed

lm.cryptsetup
• Android console LUKS-manager
  installed

USB Debugging Enabled
• Access to device’s shell by USB

“reboot” binary
• Reboot binary from the ROM
  Manager contents
In the Android Shell:
#busybox dd if=/dev/zero of=/data/secure0 bs=1M count 800
#losetup /dev/block/loop3 /data/secure0
#lm.cryptsetup luksFormat –c aes-plain /dev/block/loop3
#lm.cryptsetup luksOpen /dev/block/loop3 data
#mke2fs –T ext4 –L Secure0 -F /dev/mapper/data
#lm.cryptsetup luksClose data

In the CWM Recovery:
parted /dev/block/mmcblk1
print
rm 1
mkpartfs primary fat32 0 4032
mkpartfs primary ext2 4032 8065
quit

     In the Android Shell:
     #lm.cryptsetup luksFormat –c aes-plain /dev/block/mmcblk1p2
     #lm.cryptsetup luksOpen /dev/block/mmcblk1p2 sdcard
     #mkfs.vfat -n Seccard0 /dev/mapper/sdcard
     #lm.cryptsetup luksClose sdcard
In the Android Shell:
#losetup /dev/block/loop3 /data/secure0
#lm.cryptsetup luksOpen /dev/block/loop3 data
#mount –o remount,rw /
#mkdir /DATA
#mount –t ext4 /dev/mapper/data /DATA
# cp -a /data/app /DATA
# cp -a /data/app-private /DATA
# cp -a /data/backup /DATA
# cp -a /data/data /DATA
# cp -a /data/dontpanic /DATA
# cp -a /data/drm /DATA
# cp -a /data/etc /DATA
# cp -a /data/htcfs /DATA
# cp -a /data/local /DATA
# cp -a /data/misc /DATA
# cp -a /data/property /DATA
# cp -a /data/secure /DATA
# cp -a /data/system /DATA
# cp -a /data/zipalign.log /DATA
# mkdir /DATA/d
# mkdir /DATA/dalvik-cache
# umount /DATA
# lm.cryptsetup luksClose data
Entering encrypted mode:
#setprop ctl.stop zygote
#mount -o remount,rw rootfs /
#mkdir /DATA
#mkdir /mnt/SDCARD
#mount -o move /mnt/sdcard /mnt/SDCARD
#lm.cryptsetup luksOpen /dev/block/mmcblk1p2 sdcard
#mount -t vfat /dev/mapper/sdcard /mnt/sdcard
#mount -o remount,ro rootfs /
#mount /dev/block/mmcblk0p26 /DATA
#losetup /dev/block/loop5 /DATA/secure0
#lm.cryptsetup luksOpen /dev/block/loop5 data
#umount /data -l
#mount -t ext4 /dev/mapper/data /data
#setprop ctl.start zygote
#killall zygote

Leaving encrypted mode:
#sync
#setprop ctl.stop zygote
#setprop ctl.stop runtime
#setprop ctl.stop keystore
#fuser /data –m -k
#umount /data
#/lm.cryptsetup luksClose data
#/system/bin/reboot
CWM
S-ON   S-OFF              ADB   #Root   /data/
               recovery
/data/system/accounts.db



     /data/data/com.android.providers.contacts/databases/contacts2.db
     • Contacts
     • Call history



     /data/data/com.android.providers.telephony/databases/mmssms.db
     • Sms
adb shell
# sqlite3 /data/data/com.android.providers.settings/databases/settings.db
sqlite> update secure set value=65536 where name='lockscreen.password_type';
sqlite> .exit
# exit
adb reboot
Basic        Moderate    Recomended

• USB           • S-ON       • Data
  Debugging     • Stock        Encryption
  Disable         Firmware
• Unknown
  Sources Off
• PinLock
Thank you for listening!
     See you next time.

Mais conteúdo relacionado

Destaque

★다시 다가오는 중국투자의 기회 (피델리티)
★다시 다가오는 중국투자의 기회 (피델리티)★다시 다가오는 중국투자의 기회 (피델리티)
★다시 다가오는 중국투자의 기회 (피델리티)Wealth Partners
 
World Wealth Report 2010
World Wealth Report 2010World Wealth Report 2010
World Wealth Report 2010Wealth Partners
 
2012년 개정세법 활용방안
2012년 개정세법 활용방안2012년 개정세법 활용방안
2012년 개정세법 활용방안Wealth Partners
 
World Wealth Report 2008
World Wealth Report 2008World Wealth Report 2008
World Wealth Report 2008Wealth Partners
 
[주간 투자노트] 2012년 1월 4주차
[주간 투자노트] 2012년 1월 4주차[주간 투자노트] 2012년 1월 4주차
[주간 투자노트] 2012년 1월 4주차Wealth Partners
 
World Wealth Report 2012
World Wealth Report 2012World Wealth Report 2012
World Wealth Report 2012Wealth Partners
 
샤또 바티스트 고급 요양원
샤또 바티스트 고급 요양원샤또 바티스트 고급 요양원
샤또 바티스트 고급 요양원Wealth Partners
 
Alexander Lyamin - Anatomy and metrology of DoS/DDoS
Alexander Lyamin - Anatomy and metrology of DoS/DDoSAlexander Lyamin - Anatomy and metrology of DoS/DDoS
Alexander Lyamin - Anatomy and metrology of DoS/DDoSDefconRussia
 

Destaque (8)

★다시 다가오는 중국투자의 기회 (피델리티)
★다시 다가오는 중국투자의 기회 (피델리티)★다시 다가오는 중국투자의 기회 (피델리티)
★다시 다가오는 중국투자의 기회 (피델리티)
 
World Wealth Report 2010
World Wealth Report 2010World Wealth Report 2010
World Wealth Report 2010
 
2012년 개정세법 활용방안
2012년 개정세법 활용방안2012년 개정세법 활용방안
2012년 개정세법 활용방안
 
World Wealth Report 2008
World Wealth Report 2008World Wealth Report 2008
World Wealth Report 2008
 
[주간 투자노트] 2012년 1월 4주차
[주간 투자노트] 2012년 1월 4주차[주간 투자노트] 2012년 1월 4주차
[주간 투자노트] 2012년 1월 4주차
 
World Wealth Report 2012
World Wealth Report 2012World Wealth Report 2012
World Wealth Report 2012
 
샤또 바티스트 고급 요양원
샤또 바티스트 고급 요양원샤또 바티스트 고급 요양원
샤또 바티스트 고급 요양원
 
Alexander Lyamin - Anatomy and metrology of DoS/DDoS
Alexander Lyamin - Anatomy and metrology of DoS/DDoSAlexander Lyamin - Anatomy and metrology of DoS/DDoS
Alexander Lyamin - Anatomy and metrology of DoS/DDoS
 

Semelhante a Karasikov android behind the scenes

Linux SD/MMC device driver
Linux SD/MMC device driverLinux SD/MMC device driver
Linux SD/MMC device driver艾鍗科技
 
Crash_Report_Mechanism_In_Tizen
Crash_Report_Mechanism_In_TizenCrash_Report_Mechanism_In_Tizen
Crash_Report_Mechanism_In_TizenLex Yu
 
망고100 보드로 놀아보자 7
망고100 보드로 놀아보자 7망고100 보드로 놀아보자 7
망고100 보드로 놀아보자 7종인 전
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemCyber Security Alliance
 
Labs_BT_20221017.pptx
Labs_BT_20221017.pptxLabs_BT_20221017.pptx
Labs_BT_20221017.pptxssuserb4d806
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013Wave Digitech
 
HKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case studyHKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case studyLinaro
 
A little systemtap
A little systemtapA little systemtap
A little systemtapyang bingwu
 
A little systemtap
A little systemtapA little systemtap
A little systemtapyang bingwu
 
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root44CON
 
Study on Android Emulator
Study on Android EmulatorStudy on Android Emulator
Study on Android EmulatorSamael Wang
 
Bringing up Android on your favorite X86 Workstation or VM (AnDevCon Boston, ...
Bringing up Android on your favorite X86 Workstation or VM (AnDevCon Boston, ...Bringing up Android on your favorite X86 Workstation or VM (AnDevCon Boston, ...
Bringing up Android on your favorite X86 Workstation or VM (AnDevCon Boston, ...Ron Munitz
 
CUDA lab's slides of "parallel programming" course
CUDA lab's slides of "parallel programming" courseCUDA lab's slides of "parallel programming" course
CUDA lab's slides of "parallel programming" courseShuai Yuan
 
建構嵌入式Linux系統於SD Card
建構嵌入式Linux系統於SD Card建構嵌入式Linux系統於SD Card
建構嵌入式Linux系統於SD Card艾鍗科技
 
SCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имяSCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имяEkaterina Melnik
 
SCADA Strangelove: Hacking in the Name
SCADA Strangelove: Hacking in the NameSCADA Strangelove: Hacking in the Name
SCADA Strangelove: Hacking in the NamePositive Hack Days
 
PFIセミナー資料 H27.10.22
PFIセミナー資料 H27.10.22PFIセミナー資料 H27.10.22
PFIセミナー資料 H27.10.22Yuya Takei
 
Linux Kernel Crashdump
Linux Kernel CrashdumpLinux Kernel Crashdump
Linux Kernel CrashdumpMarian Marinov
 

Semelhante a Karasikov android behind the scenes (20)

Linux SD/MMC device driver
Linux SD/MMC device driverLinux SD/MMC device driver
Linux SD/MMC device driver
 
Crash_Report_Mechanism_In_Tizen
Crash_Report_Mechanism_In_TizenCrash_Report_Mechanism_In_Tizen
Crash_Report_Mechanism_In_Tizen
 
망고100 보드로 놀아보자 7
망고100 보드로 놀아보자 7망고100 보드로 놀아보자 7
망고100 보드로 놀아보자 7
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande Modem
 
Linux boot-time
Linux boot-timeLinux boot-time
Linux boot-time
 
Labs_BT_20221017.pptx
Labs_BT_20221017.pptxLabs_BT_20221017.pptx
Labs_BT_20221017.pptx
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
 
HKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case studyHKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case study
 
A little systemtap
A little systemtapA little systemtap
A little systemtap
 
A little systemtap
A little systemtapA little systemtap
A little systemtap
 
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
 
Study on Android Emulator
Study on Android EmulatorStudy on Android Emulator
Study on Android Emulator
 
Bringing up Android on your favorite X86 Workstation or VM (AnDevCon Boston, ...
Bringing up Android on your favorite X86 Workstation or VM (AnDevCon Boston, ...Bringing up Android on your favorite X86 Workstation or VM (AnDevCon Boston, ...
Bringing up Android on your favorite X86 Workstation or VM (AnDevCon Boston, ...
 
Cgroups in android
Cgroups in androidCgroups in android
Cgroups in android
 
CUDA lab's slides of "parallel programming" course
CUDA lab's slides of "parallel programming" courseCUDA lab's slides of "parallel programming" course
CUDA lab's slides of "parallel programming" course
 
建構嵌入式Linux系統於SD Card
建構嵌入式Linux系統於SD Card建構嵌入式Linux系統於SD Card
建構嵌入式Linux系統於SD Card
 
SCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имяSCADA Strangelove: взлом во имя
SCADA Strangelove: взлом во имя
 
SCADA Strangelove: Hacking in the Name
SCADA Strangelove: Hacking in the NameSCADA Strangelove: Hacking in the Name
SCADA Strangelove: Hacking in the Name
 
PFIセミナー資料 H27.10.22
PFIセミナー資料 H27.10.22PFIセミナー資料 H27.10.22
PFIセミナー資料 H27.10.22
 
Linux Kernel Crashdump
Linux Kernel CrashdumpLinux Kernel Crashdump
Linux Kernel Crashdump
 

Mais de DefconRussia

[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...DefconRussia
 
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...DefconRussia
 
[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobinding[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobindingDefconRussia
 
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/LinuxDefconRussia
 
Георгий Зайцев - Reversing golang
Георгий Зайцев - Reversing golangГеоргий Зайцев - Reversing golang
Георгий Зайцев - Reversing golangDefconRussia
 
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC [DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC DefconRussia
 
Cisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-oneCisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-oneDefconRussia
 
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...DefconRussia
 
HTTP HOST header attacks
HTTP HOST header attacksHTTP HOST header attacks
HTTP HOST header attacksDefconRussia
 
Attacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей ТюринAttacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей ТюринDefconRussia
 
Weakpass - defcon russia 23
Weakpass - defcon russia 23Weakpass - defcon russia 23
Weakpass - defcon russia 23DefconRussia
 
nosymbols - defcon russia 20
nosymbols - defcon russia 20nosymbols - defcon russia 20
nosymbols - defcon russia 20DefconRussia
 
static - defcon russia 20
static  - defcon russia 20static  - defcon russia 20
static - defcon russia 20DefconRussia
 
Zn task - defcon russia 20
Zn task  - defcon russia 20Zn task  - defcon russia 20
Zn task - defcon russia 20DefconRussia
 
Vm ware fuzzing - defcon russia 20
Vm ware fuzzing  - defcon russia 20Vm ware fuzzing  - defcon russia 20
Vm ware fuzzing - defcon russia 20DefconRussia
 
Nedospasov defcon russia 23
Nedospasov defcon russia 23Nedospasov defcon russia 23
Nedospasov defcon russia 23DefconRussia
 
Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23DefconRussia
 
Miasm defcon russia 23
Miasm defcon russia 23Miasm defcon russia 23
Miasm defcon russia 23DefconRussia
 
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...DefconRussia
 
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условияхSergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условияхDefconRussia
 

Mais de DefconRussia (20)

[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...
 
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
 
[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobinding[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobinding
 
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
 
Георгий Зайцев - Reversing golang
Георгий Зайцев - Reversing golangГеоргий Зайцев - Reversing golang
Георгий Зайцев - Reversing golang
 
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC [DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
 
Cisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-oneCisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-one
 
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
 
HTTP HOST header attacks
HTTP HOST header attacksHTTP HOST header attacks
HTTP HOST header attacks
 
Attacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей ТюринAttacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей Тюрин
 
Weakpass - defcon russia 23
Weakpass - defcon russia 23Weakpass - defcon russia 23
Weakpass - defcon russia 23
 
nosymbols - defcon russia 20
nosymbols - defcon russia 20nosymbols - defcon russia 20
nosymbols - defcon russia 20
 
static - defcon russia 20
static  - defcon russia 20static  - defcon russia 20
static - defcon russia 20
 
Zn task - defcon russia 20
Zn task  - defcon russia 20Zn task  - defcon russia 20
Zn task - defcon russia 20
 
Vm ware fuzzing - defcon russia 20
Vm ware fuzzing  - defcon russia 20Vm ware fuzzing  - defcon russia 20
Vm ware fuzzing - defcon russia 20
 
Nedospasov defcon russia 23
Nedospasov defcon russia 23Nedospasov defcon russia 23
Nedospasov defcon russia 23
 
Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23
 
Miasm defcon russia 23
Miasm defcon russia 23Miasm defcon russia 23
Miasm defcon russia 23
 
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
 
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условияхSergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
 

Karasikov android behind the scenes

  • 1. Android behind the scenes possible attacks and radical defense measures
  • 2.
  • 3. /dev/block/mmcblk0p1 - 512 000 - dbl • /dev/block/mmcblk0p3 - 4 608 000 - osbl • /dev/block/mmcblk0p4 - 1 024 - header_rex_amss • /dev/block/mmcblk0p5 - 30 720 000 - rex_amss • /dev/block/mmcblk0p6 - 12 800 000 - modem_DSP • /dev/block/mmcblk0p7 - 2 097 152 - CID, Secure_Flag, IMEI, rcdata.img • /dev/block/mmcblk0p8 - 3 145 728 • /dev/block/mmcblk0p9 - 2 097 152 • /dev/block/mmcblk0p10 - 1 048 576 • /dev/block/mmcblk0p11 - 1 048 576 • /dev/block/mmcblk0p12 - 8 961 536 • /dev/block/mmcblk0p13 - 3 145 728 - reserved for modem storage • /dev/block/mmcblk0p14 - 3 145 728 - reserved for modem storage • /dev/block/mmcblk0p15 - 1 048 576 • /dev/block/mmcblk0p16 - 9 172 480 • /dev/block/mmcblk0p17 - 262 144 - misc • /dev/block/mmcblk0p18 - 1 048 576 - hboot • /dev/block/mmcblk0p19 - 1 048 576 - sp1 • /dev/block/mmcblk0p20 - 1 310 720 - wifi • /dev/block/mmcblk0p21 - 8 909 824 - recovery • /dev/block/mmcblk0p22 - 4 194 304 - boot • /dev/block/mmcblk0p23 - 262 144 - mfg • /dev/block/mmcblk0p24 - 2 096 128 - sp2 • /dev/block/mmcblk0p25 - 585 104 896 - system • /dev/block/mmcblk0p26 - 1 232 076 288 - userdata • /dev/block/mmcblk0p27 - 314 572 288 - cache • /dev/block/mmcblk0p28 - 21 757 440 - devlog • /dev/block/mmcblk0p29 - 262 144 - pdata
  • 4. S-ON S-OFF eMMC read, writing Writing in any eMMC only to user-available partition, except partitions partition 7 Flashing only HTC- Flashing any third- signed firmware party modified firmware, including hboot, recovery and custom roms
  • 5. mmcblk0p7 CID IMEI S-Flag
  • 7. Powercycle Partition7 gfree wpthis.ko eMMC injection • void powercycle_emmc() { gpio_tlmm_config(PCOM_GPIO_CFG(88, 0, GPIO_OUTPUT, GPIO_NO_PULL, GPIO_2MA), 0); // turn off. wpthis.ko gpio_set_value(88, 0); mdelay(200); // turn back on. gpio_set_value(88, 1); mdelay(200); }
  • 8. drivers/mmc/card/block.c #if 1 #if 0 if (board_emmc_boot()) if (mmc_card_mmc(card)) { if (brq.cmd.arg < 131073) {/* should not write any value before 131073 */ pr_err("%s: pid %d(tgid %d)(%s)n", func, (unsigned)(current->pid), (unsigned)(current->tgid), current->comm); pr_err("ERROR! Attemp to write radio partition start %d size %dn", brq.cmd.arg, blk_rq_sectors(req)); BUG(); return 0; } #endif
  • 9.
  • 10. Preparations Android 2.3-4.1 • Rooted Android OS, stock or custom Busybox • Android console utility pack installed lm.cryptsetup • Android console LUKS-manager installed USB Debugging Enabled • Access to device’s shell by USB “reboot” binary • Reboot binary from the ROM Manager contents
  • 11. In the Android Shell: #busybox dd if=/dev/zero of=/data/secure0 bs=1M count 800 #losetup /dev/block/loop3 /data/secure0 #lm.cryptsetup luksFormat –c aes-plain /dev/block/loop3 #lm.cryptsetup luksOpen /dev/block/loop3 data #mke2fs –T ext4 –L Secure0 -F /dev/mapper/data #lm.cryptsetup luksClose data In the CWM Recovery: parted /dev/block/mmcblk1 print rm 1 mkpartfs primary fat32 0 4032 mkpartfs primary ext2 4032 8065 quit In the Android Shell: #lm.cryptsetup luksFormat –c aes-plain /dev/block/mmcblk1p2 #lm.cryptsetup luksOpen /dev/block/mmcblk1p2 sdcard #mkfs.vfat -n Seccard0 /dev/mapper/sdcard #lm.cryptsetup luksClose sdcard
  • 12. In the Android Shell: #losetup /dev/block/loop3 /data/secure0 #lm.cryptsetup luksOpen /dev/block/loop3 data #mount –o remount,rw / #mkdir /DATA #mount –t ext4 /dev/mapper/data /DATA # cp -a /data/app /DATA # cp -a /data/app-private /DATA # cp -a /data/backup /DATA # cp -a /data/data /DATA # cp -a /data/dontpanic /DATA # cp -a /data/drm /DATA # cp -a /data/etc /DATA # cp -a /data/htcfs /DATA # cp -a /data/local /DATA # cp -a /data/misc /DATA # cp -a /data/property /DATA # cp -a /data/secure /DATA # cp -a /data/system /DATA # cp -a /data/zipalign.log /DATA # mkdir /DATA/d # mkdir /DATA/dalvik-cache # umount /DATA # lm.cryptsetup luksClose data
  • 13. Entering encrypted mode: #setprop ctl.stop zygote #mount -o remount,rw rootfs / #mkdir /DATA #mkdir /mnt/SDCARD #mount -o move /mnt/sdcard /mnt/SDCARD #lm.cryptsetup luksOpen /dev/block/mmcblk1p2 sdcard #mount -t vfat /dev/mapper/sdcard /mnt/sdcard #mount -o remount,ro rootfs / #mount /dev/block/mmcblk0p26 /DATA #losetup /dev/block/loop5 /DATA/secure0 #lm.cryptsetup luksOpen /dev/block/loop5 data #umount /data -l #mount -t ext4 /dev/mapper/data /data #setprop ctl.start zygote #killall zygote Leaving encrypted mode: #sync #setprop ctl.stop zygote #setprop ctl.stop runtime #setprop ctl.stop keystore #fuser /data –m -k #umount /data #/lm.cryptsetup luksClose data #/system/bin/reboot
  • 14.
  • 15. CWM S-ON S-OFF ADB #Root /data/ recovery
  • 16.
  • 17. /data/system/accounts.db /data/data/com.android.providers.contacts/databases/contacts2.db • Contacts • Call history /data/data/com.android.providers.telephony/databases/mmssms.db • Sms
  • 18. adb shell # sqlite3 /data/data/com.android.providers.settings/databases/settings.db sqlite> update secure set value=65536 where name='lockscreen.password_type'; sqlite> .exit # exit adb reboot
  • 19. Basic Moderate Recomended • USB • S-ON • Data Debugging • Stock Encryption Disable Firmware • Unknown Sources Off • PinLock
  • 20. Thank you for listening! See you next time.