aboutsummaryrefslogtreecommitdiff
path: root/src/bne.c
AgeCommit message (Collapse)Author
2021-08-10Impl M2M binary update ...David Timber
* Use getopt in proone-bne * Call pth_yield() where necessary * htbt: truncate downloaded binary if actual size of data transfered is less than alloc_len * prne_rcb_param.self is not optional as proone-bne uses nybin * Add --vercmp option for proone-bne to test M2M bin update * Refactor proone-htbtclient * Protocol change: prne_htbt_bin_meta.alloc_len is now size_t * Add convenience functions: prne_realloc_str(), prne_redup_str()
2021-08-09Protocol and build system change ...David Timber
* Use autoheader * Add --enable-minmem * Add OS code. Bin archive and protocol changed accordingly * Add instance flags in hostinfo frame. Bitfield util added for this * Add org_id in hostinfo for lineage record * SQL schema change: store integer value of hostinfo arch and os * Remove config.c * prne_index_nybin() now sets errno * Instance ids are now preserved for lineage record * Proone: remove arguments after init * Fix bug in prne_htbt_ser_bin_meta(): alloc_len is not checked
2021-07-25Impl htbt M2M binary update and bug fixes ...David Timber
* Change signature of tmpfile() cb * Add PRNE_DATA_KEY_VER_MAT * Add prne_try_alloc_iobuf() * Fix htbt: don't run cncp when both resolv and cnc_txtrec are not passed * Impl upbin cb on proone-bne * Fix proone-htbtclient: content of status frame was discarded * htbt is now responsible for setting FD_CLOEXEC on temp files * Changes in mttools for valgrind run * Add proone-test_iobuf * Fix event leak in resolv * src/test-resolv.sh: run proone-resolv on valgrind * Add prne_cmp_uuid_asc() and prne_cmp_uuid_desc() for version matrix *
2021-07-22Impl PRNE_HTBT_OP_RCB ...David Timber
* Parameterize prne_start_bin_rcb() args * Change value of PRNE_ARCH_NONE to 0 to use it over the wire (problem arises deserialising) * tostr() and fstr() functions set errno to EINVAL * Run bne without binary archive to support same-arch infection
2021-07-21Impl proone-htbtclient upbin, bug fixes ...David Timber
* Add prne_start_bin_rcb_compat() * PRNE_HTBT_OP_NY_BIN -> PRNE_HTBT_OP_UP_BIN. "nybin" is now the name of the file format * htbt * Fix broken hover redirection (HTBT_LMK_HOVER removed) * HTBT_MAIN_REQ_Q_SIZE * Impl PRNE_HTBT_OP_NOOP response * Fix PRNE_HTBT_OP_SOLICIT is always sent with id 1 * proone * Fix bugs caused by not scrubbing the shared global memory * Fix exec() fail when upbin request with args * Removed do_recombination() as it's not efficient. Now the authoritive end has to do the recombination * PRNE_HTBT_OP_RCB, PRNE_HTBT_STATUS_SUB reserved for future impl
2021-07-12Impl proone-htbtclient, bugfix, --enable-mttoolsDavid Timber
* Remove --enable-hostinfod and add --enable-mttools, which enables hostinfod and htbtclient * Change PRNE_HTBT_PROTO_PORT so that the macro can be used in another macro expression(for help message) * Add prne_mbedtls_perror() * proone-htbtclient: implement hostinfo command * proone-htbthost * Add --hostcred option * Response with status frame on ENOMEM * htbt: add prne_htbt_serrc_tostr() and prne_htbt_gen_msgid() * Add prne_ctoupper(), prne_ctolower(), prne_cisspace(), prne_cisprint() * The added functions are the locale-independent equivalent of their POSIX counterparts * Remove Use of the POSIX functions * Add test unit
2021-07-07Refactor: impl prne_mbedtls_verify_alp()David Timber
2021-04-17bne: bug fix and improvementsDavid Timber
* close connection for htbt vector gracefully * decrease connection timeout and increase socket operation * fix bug where both `BNE_CONN_TIMEOUT` and `BNE_CONN_OP_TIMEOUT` are used. * fix memory leak caused by htbt vector
2020-09-28The 80 column rule ...David Timber
* Remove prne_rnd_anum_str()
2020-09-27* Disable armv7, aarch64, x86_64 targetDavid Timber
* Apply recon and bne to proone * Add callback contexts on htbt and bne * Fix mem leak in bne_sh_cleanup_upload() * Use prne_static_assert() instead of _Static_assert() * Use prne_free_worker() rather than calling free_ctx() * Add prne_eq_ipaddr() * bne * Add prne_bne_result::ny_instance to impl infect_cnt * Don't delete tmp upload dir after successful bne_sh_run_exec() so that proone can make tmp files * Silently ignore PRNE_BNE_V_HTBT if htbt_ssl_conf is not set * Add prne_bne_get_subject() * htbt * Fix crash bug when running without resolv * proone: set pth priority
2020-09-24* bne: add "login_attempt" param to impl "oneshot"David Timber
2020-09-24* Impl bneDavid Timber
* Reduce timeout values * Impl telnet vector * Separate stx_str/stx_out and eot_str/eot_out to skip echo * Bugfix: wrong BNE_CONN_OP_TIMEOUT timer reset * vssh: skip account if password auth is not available * bne_vssh_write_f(): propagate write() EOF * No EINTR handling * lssh2_handle() * prne_mbedtls_pth_handle() * resolv_ensure_act_dns_fd() * Add util funcs for telnet login prompt parsing * prne_transmem() * prne_memrmem() * prne_memmem()
2020-09-22* Add proone exit codes as macro defsDavid Timber
* Lock file acquisition failure is not an error
2020-09-22* htbt: flush stdout/stderr on each upload tickDavid Timber
2020-09-22* Impl htbtDavid Timber
* Refactor bne_do_connect() * Impl PRNE_BNE_V_HTBT * Run exec with host cred
2020-09-22* Impl bneDavid Timber
* Add base64 upload method * Remove pollin_f() * Caller should terminate cmdline * Newline style detection for \r\n, \r\0, \r or \n * Issue "enable", "system" and "shell" on set up * * Rename prne_strnstr() -> prne_memmem() * Added prne_rebuild_str() for efficiency * Daemonise proone so that bne can clean up after upload
2020-09-20bne: add debug messages for the showDavid Timber
2020-09-20* bne: newline character abstraction for telnet vectorDavid Timber
* bne: always yield while bin recombination
2020-09-20* Impl bneDavid Timber
* Add prne_pth_reset_timer(), prne_build_str()
2020-09-19Impl bneDavid Timber
2020-09-18* Impl: bneDavid Timber
* Add prne_index_nybin()