IDF4APEV refers to Integrated Detection Framework for Android's Privilege Escalation Vulnerabilites.
Design&Structure [√]
poc_code/ [√]
pocs.json [√]
vulnabilities.json [√]
device.py [√]
poc.py [√]
vulnerability.py [√]
result.py [√]
commander.py [√]
builder.py [√]
executer.py [√]
idfconsole [√]
test the whole idf [√]
show banner
show devices
show pocs
show cves
# diagnose
diagnose DEVICE_NAME
diagnose all
# trigger
check all all
check all POC_NAME
check DEVICE_NAME POC_NAME
check DEVICE_NAME all
# export report as markdown file into reports/
export
# clean result auto-generated before
reset
- If one device's kernel version is NOT located in the range of vulnerable version, it MAY BE not vulnerable.
- If one device's security-update-date is later than the patch-date of a vulnerability, it MAY BE not vulnerable.
Diagnosis is not reliable because of many elements. For a good & sarcastic example you can see the post HOW ANDROID PHONES HIDE MISSED SECURITY UPDATES FROM YOU.
PoC tells us whether one device is vulnerable or not.
pip install -r requirements.txt
You need to download ndk for your platform (Windows/Mac OS/Linux, etc.) and append the directory of ndk-build
to $PATH
.
You need to download adb and append the directory of adb
to $PATH
.
- portability almost any computer is able to drive a text terminal, so a command line interface can really run everywhere.
- resources the CPU and memory cost of a command line interface is far lighter than a GUI library.
- speed for advanced users, it's often faster to type a command than to dive into menus and windows.
- development It is far faster to create a text oriented interface.
- driving you can easily drive a text oriented program with the popen command. That means that the whole application can be tested automatically.
The banner is created with the help of toilet, which is a very interesting tool and can be installed through brew install toilet
on Mac OSX :)