본문 바로가기

해킹/IOS 앱 취약점 진단

안드로이드 앱 취약점 진단을 위한 녹스 설치 및 쉘 접속 방법

안녕하세요. 최근 취업을 하면서 앱 진단을 하게 되었습니다. 

그래서 앱 진단을 위한 녹스 사용법을 정리하려고 합니다.

 

저는 앱 진단 경험이 많이 없지만 

제 주관적인 생각으로 취약점 진단/분석에 정적 분석도 필요하지만, 동적 분석은 필수라고 생각합니다. 

그러므로 녹스 앱 플레이어는 취약점 진단/분석에 필수라고 볼 수 있습니다. 

 

아래의 링크로 접속하셔서 녹스 앱 플레이어를 설치 할 수 있습니다. 

https://kr.bignox.com/

 

녹스 앱플레이어

모바일 게임을 키보드와 마우스로? 클릭 한 번으로 가상키보드 실행이 가능하며 PC버전의 게임도 간편하게 체험할 수 있습니다. 키보드와 마우스로 컨트롤하여 뛰는 자에서 나는 자가 되어볼 수

kr.bignox.com

 

이제 안드로이드 내부로 접속하기 위해 ROOT권한을 활성화해야 합니다.

방법은 녹스 플레이어를 실행하고, 위와 같이 설정에 들어가 ROOT켜기를 체크 후 재부팅 하시면 됩니다.

 

재부팅이 끝나셨다면, 안드로이드에 ROOT로 접속할 수 있는데요. 방법은 nox_adb.exe를 실행하여 접속할 수 있습니다. 

nox_adb.exe의 경로는 C:\Program Files (x86)\Nox\bin 입니다. 

그럼, 아래와 같은 명령어를 이용하면 녹스 플레이어의 쉘을 획득할 수 있습니다. 

C:\>"C:\Program Files (x86)\Nox\bin\nox_adb.exe" shell
root@shamu:/ #

 

안드로이드 환경에서는 리눅스와 완전 동일한 명령어는 사용할 수 없지만, 

busybox라는 프로그램을 이용하면 거의 모든 리눅스의 명령어를 사용할 수 있게 됩니다. 

root@shamu:/ # busybox
BusyBox v1.22.1 bionic (2020-01-09 19:00 +0800) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2012.
Licensed under GPLv2. See source distribution for detailed
copyright notices. Merged for bionic by tpruvot@github

Usage: busybox [function [arguments]...]
   or: busybox --list[-full]
   or: busybox --install [-s] [DIR]
   or: function [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use and BusyBox
        will act like whatever it was invoked as.

Currently defined functions:
        [, [[, adjtimex, arp, ash, awk, base64, basename, bbconfig, blkid,
        blockdev, brctl, bunzip2, bzcat, bzip2, cal, cat, catv, chattr, chcon,
        chgrp, chmod, chown, chroot, chvt, clear, cmp, comm, cp, cpio, crond,
        crontab, cut, date, dc, dd, deallocvt, depmod, devmem, df, diff,
        dirname, dmesg, dnsd, dos2unix, du, echo, ed, egrep, env, expand, expr,
        false, fbsplash, fdisk, fgconsole, fgrep, find, findfs, flash_lock,
        flash_unlock, flashcp, flock, fold, free, freeramdisk, fstrim, fsync,
        ftpget, ftpput, fuser, getenforce, getopt, getsebool, grep, groups,
        gunzip, gzip, halt, head, hexdump, hwclock, id, ifconfig, inetd,
        insmod, install, ionice, iostat, ip, kill, killall, killall5, less, ln,
        losetup, ls, lsattr, lsmod, lsof, lspci, lsusb, lzcat, lzma, lzop,
        lzopcat, man, matchpathcon, md5sum, mesg, mkdir, mkdosfs, mke2fs,
        mkfifo, mkfs.ext2, mkfs.vfat, mknod, mkswap, mktemp, modinfo, modprobe,
        more, mount, mountpoint, mpstat, mv, nanddump, nandwrite, nbd-client,
        nc, netstat, nice, nmeter, nohup, nslookup, ntpd, od, openvt, patch,
        pgrep, pidof, ping, pipe_progress, pkill, pmap, poweroff, printenv,
        printf, ps, pstree, pwd, pwdx, rdate, rdev, readlink, realpath, reboot,
        renice, reset, resize, restorecon, rev, rm, rmdir, rmmod, route,
        run-parts, runcon, rx, sed, selinuxenabled, seq, sestatus, setconsole,
        setenforce, setfiles, setkeycodes, setsebool, setserial, setsid, sh,
        sha1sum, sha256sum, sha3sum, sha512sum, sleep, smemcap, sort, split,
        stat, strings, stty, sum, swapoff, swapon, switch_root, sync, sysctl,
        tac, tail, tar, taskset, tee, telnet, telnetd, test, tftp, tftpd, time,
        timeout, top, touch, tr, traceroute, true, ttysize, tune2fs, umount,
        uname, uncompress, unexpand, uniq, unix2dos, unlzma, unlzop, unxz,
        unzip, uptime, usleep, uudecode, uuencode, vi, watch, wc, wget, which,
        whoami, xargs, xz, xzcat, yes, zcat

 

명령어들이 굉장히 많죠.

예시로 프로세스 리스트를 출력하는 명령어는 아래와 같습니다.

root@shamu:/ # busybox ps
  PID USER       VSZ STAT COMMAND
    1 root      9264 S    /init
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [ksoftirqd/0]
    5 root         0 SW<  [kworker/0:0H]
    7 root         0 SW   [rcu_preempt]
    8 root         0 SW   [rcu_sched]
    9 root         0 SW   [rcu_bh]
   10 root         0 SW   [rcuop/0]
   11 root         0 SW   [rcuos/0]
   12 root         0 SW   [rcuob/0]
   13 root         0 SW   [migration/0]
   14 root         0 SW   [watchdog/0]
   15 root         0 SW   [watchdog/1]
   16 root         0 SW   [migration/1]
   17 root         0 SW   [ksoftirqd/1]
   19 root         0 SW<  [kworker/1:0H]
   20 root         0 SW   [rcuop/1]

 

녹스 외에 다른 앱 플레이어들도 있습니다. 

만약 녹스에서 앱이 작동하지 않는다고 하면 다른 앱 플레이어로 테스트해보세요.

 

미뮤 앱 플레이어 

https://www.memukorea.com/

 

미뮤

미뮤 코리아 공식 사이트, 가장 가볍고 빠른 안드로이드 앱플레이어, 사용방법, FAQ, 문의하기, 다운로드 제공.

www.memukorea.com

 

블루스택 앱 플레이어 

https://www.bluestacks.com/ko/index.html

 

블루스택 앱플레이어 - 모바일게임을 PC로 더 편하고 실감나게 플레이!

가장 무서운 좀비는 누구?! 공포의 숨바꼭질.. 비명 주의, 좀비고 공포감염2 [좀비고등학교 : 모바일 게임] Zombie High school 도로시 도로시Games 355K

www.bluestacks.com